Javascript输出为隐藏输入的值

时间:2017-06-22 05:27:15

标签: javascript html dom input

如何将此javascript函数的输出设置为html表单上隐藏输入的值?

document.write(states[i][1]);

工作正常,但我不能用代码填写值,如下所示。

    if (to == 'abbr'){
        input = input.replace(/\w\S*/g, function(txt){return 
        txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
        for(i = 0; i < states.length; i++){
            if(states[i][0] == input){
            document.getElementById("sid").value = (states[i][1]);
                 }
             }    
         } 
     }       

</script>
<form action="we2.php" method="post">
<input type="text" id="sid" name="s1"/>
<input type="submit" value="Verify">
</form>

这段代码出了什么问题/这是做正确的方法?

谢谢!

5 个答案:

答案 0 :(得分:0)

这应该这样做。

<强> HTML:

<input type="hidden" id="HiddenInput" />

<强> JavaScript的:

document.getElementById("HiddenInput").value = someFunction();

答案 1 :(得分:0)

您是否检查states[i][0] == input是否评估为true

答案 2 :(得分:0)

在html代码结束后在页面或页面末尾编写JavaScript代码。

答案 3 :(得分:0)

我找到了一个更简单的解决方案,只需将整个函数转换为变量,然后将变量转换为DOM:

var response = abbrState('<?php echo $_GET['state']; ?>', 'abbr');

document.getElementById("sid").value = response;

答案 4 :(得分:0)

以下情况应该有效。

HTML:

<div style="display:none" id="example"></div>

使用Javascript:

function addTextNode(text) {
  var newtext = document.createTextNode(text),
      element = document.getElementById('example');

  element.appendChild(newtext);
}

function yourFunctionDataHere(){
    return 'test1234';
}


addTextNode(yourFunctionDataHere());

请确保您的函数的返回类型是string类型。如果您想查看输出,只需从上例中的div中删除style="display:none"

jsfiddle上在线试用。