如何将此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>
这段代码出了什么问题/这是做正确的方法?
谢谢!
答案 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上在线试用。