2016-04-22 102 views
0

我的页面上有一个元素,其ID为last_name。我想获得它的价值,并将其传递给我的input标签。获取HTML DOM元素并将其设置为输入标记的值

我基本上试图做这样的事情(不起作用)。

<input type="hidden" name="lastName" value=document.getElementById("last_name").value> 

有没有办法做到这一点?

这不仅是在负载。

本质上,我有一堆文本框分组在一起。

然后我有另一种形式的按钮。当用户点击按钮时,我希望我的输入标签的值是在文本框中输入的当前值。

编辑:谢谢大家!得到它的工作。我基本上必须删除输入标签的“value”属性,然后添加一个“onclick”属性到我的按钮,然后调用你们提供给我的那些javascript代码。

+1

代码丢失:) – VirginieLGB

+0

但是使用jQuery,您可以执行'$('input').val($('#lastname').text());' – VirginieLGB

+1

DOM一载入? – JasonDavis

回答

0

试试这个:

var lastName = document.getElementById("last_name"); 
var input = document.getElementById("yourInputId"); 
input.value = lastName.value; 
+0

最好尝试向OP解释你在做什么以及为什么不交出一些他们可能不知道如何实现的代码。 – buschschwick

+0

@buschschwick在大多数情况下,我会同意你的看法,但这是一个相当直接的问题,在直接解决方案中,代码足以解释发生了什么,并且添加其他注释将是多余的。 – smaili

0

试试下面的代码 HTML

<input type="hidden" name="lastName" id='hidLastName' /> 

和JavaScript代码:

var input = document.getElementById("hidLastName") 
    input.value = document.getElementById("last_name").value 
1

只加载页面:

<!DOCTYPE html> 
    <html> 

    <head> 
     <!-- link here your JQuery library --> 
     <script> 
      $(function(){ 
       $('#lastName').val($('#last_name').val()); 
      }); 
     </script> 
    </head> 

    <body> 
     <input type="text" id="last_name" value="123"> 
     <input type="hidden" name="lastName" value=""> 
    </body> 

</html> 

的按钮点击:

<!DOCTYPE html> 
    <html> 

    <head> 
     <!-- link here your JQuery library --> 

     <script> 
      $(function(){ 
       $('#btn-save').on('click', function() { 
        $('#lastName').val($('#last_name').val()); 
        // other work 
        return false; 
       } 
      }); 
     </script> 
    </head> 

    <body> 
     <input type="text" id="last_name" value="123"> 
     <input type="hidden" name="lastName" value=""> 
     <button id="btn-save">Save</button> 
    </body> 

</html> 

没有jQuery的使用:

 <script> 
      window.onload = function(){ 
       var src = getElementById('last_name'); 
       var dst = getElementById('lastName'); 
       dst.value = stc.value; 
      } 
     </script> 
+0

这是否仅在我第一次加载页面时才起作用? – user1801048

+0

这只会在我第一次加载页面时才起作用吗?我基本上有一堆文本框和一个“保存”按钮。当用户点击按钮时,我希望输入标签具有这些文本框的当前值,然后我将此信息发送到我的后端 – user1801048

+0

请参阅我编辑的答案 –

0

你应该逻辑移动到.js文件或<script></script>元素中。前者优先。尝试是这样的:

把一个ID,接收输入:

<input type="hidden" id="lastName" name="lastName"> 

这对你的js文件

window.onload = function(){ 
    var lastNameInput = document.getElementById('lastName'); 
    var sourceInput = document.getElementById('last_name'); 
    lastNameInput.value = sourceInput.value; 
}  
0

试试这个: Java脚本

<script> 
    function setInput() { 
     document.getElementById("lastname").value = document.getElementById("last_name").value; 
    } 

</script> 

HTML

<input type="text" id="last_name" onblur="setInput()"/> 
<input type="hidden" id="lastname" /> 
相关问题