我的HTML代码:
<form action="Generator.klx" method="post" onsubmit="genarate('hiddenField')">
<input type="hidden" id="hiddenField" name="hidden" value=""/>
<input type="submit" name="submit"/>
</form>
我的JavaScript:
function genarate(hiddenField){
var field = document.getElementById(hiddenField);
field.value = "new Value";
}
但它没有奏效:(。任何人都可以告诉我哪里错了吗?
谢谢
答案 0 :(得分:3)
引用的代码应该正常工作,并且在我的各种浏览器测试中都可以使用。 (我已在本地尝试使用POSTed表单,但您也可以在此处尝试:http://jsbin.com/ehoro4/1我已将方法更改为GET
,以便您可以在网址中查看结果。)< / p>
我的猜测是,您在name
或id
“hiddenField”页面上有 else ,而不仅仅是您引用的隐藏字段。如果您将字段的名称更改为“fluglehorn”或其他不太可能在您页面上的其他位置的内容,则可能会有效。那是因为getElementById
使用的命名空间(遗憾地)非常拥挤。
或者,您确定genarate
出现在全球范围内吗? (例如,它超出了所有其他功能。)因为onsubmit
属性要求genarate
是全局的。所以这有效:
<form action="#" method="get" onsubmit="genarate('hiddenField')">
<input type="hidden" id="hiddenField" name="hidden" value=""/>
<input type="submit" name="submit"/>
</form>
<script>
function genarate(hiddenField){
var field = document.getElementById(hiddenField);
field.value = "new Value";
}
</script>
但是例如这不会:
<form action="#" method="get" onsubmit="genarate('hiddenField')">
<input type="hidden" id="hiddenField" name="hidden" value=""/>
<input type="submit" name="submit"/>
</form>
<script>
(function() { // Begin scoping function to avoid global symbols (not uncommon)
function genarate(hiddenField){
var field = document.getElementById(hiddenField);
field.value = "new Value";
}
})();
</script>
还建议使用调试器(2011年不使用客户端调试器no excuse)在genarate
函数上设置断点并查看,看看出了什么问题。
答案 1 :(得分:-1)
crud.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="JavaScript.js"></script>
</head>
<body>
<input type="text" name="name" id="name" onfocus="opConfig.reloadPrice()">
<button type="button" onclick="myFun()">submit</button>
<button type="button" onclick="update()">update</button>
<br><br>
<p id="table"></p>
</body>
</html>
JavaScript.js
var arr = [];
var index;
function myFun()
{
var name = document.getElementById('name').value;
arr.push(name);
table();
}
function table(){
var text = "<table border=1><tr><th>username</th><th>action</th></tr>"
for (var i = 0; i < arr.length; i++) {
text+="<tr><td>"+arr[i]+"</td><td><button
onclick=myDELE("+i+");>delete</button><button
onclick=myEdit("+i+");>edit</button></td></tr>"
}
text+="</table>";
console.log(text);
document.getElementById('table').innerHTML = text;
tablehidden();
}
function myDELE(i)
{
var name = arr.splice(i,1);
// name.splice(i,1);
console.log(name);
table();
tablehidden();
}
function tablehidden(){
if (!arr.length) { document.getElementById('table').hidden=true; }
else{document.getElementById('table').hidden=false;}
}
function myEdit(i)
{
text = document.getElementById('name').value = arr[i];
index = i;
}
function update(){
arr[index]=document.getElementById('name').value ;
table();
tablehidden();
}