我目前正在制作基本表格。我想用这个表单做的是当你点击提交/按钮来首先改变一个字段的值然后像往常一样提交表单。这看起来有点像这样:
<form name="myform" id="myform" action="action.php">
<input type="hidden" name="myinput" value="0" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" onclick="DoSubmit()" />
</form>
这就是我对JavaScript的了解。它将“myinput”的值更改为1,但不提交表单。我真的是一个JavaScript noobie,所以请原谅我,如果这只是一个太简单的问题,但我只是没有真正了解它。
function DoSubmit(){
document.myform.myinput.value = '1';
document.getElementById("myform").submit();
}
答案 0 :(得分:57)
你可以这样做:
<form name="myform" action="action.php" onsubmit="DoSubmit();">
<input type="hidden" name="myinput" value="0" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" />
</form>
然后修改你的DoSubmit函数,只返回true,表示“没关系,现在你可以提交表单”到浏览器:
function DoSubmit(){
document.myform.myinput.value = '1';
return true;
}
编辑:我也要小心在提交按钮上使用onclick事件;事件的顺序不是很明显,如果用户提交,例如在文本框中点击返回,则不会调用您的回调。
答案 1 :(得分:6)
document.getElementById("myform").submit();
这不起作用,因为您的表单标签没有ID。
像这样改变它应该有效:
<form name="myform" id="myform" action="action.php">
答案 2 :(得分:5)
没有。当您的输入类型是提交时,您应该在标记中声明onsubmit
事件,然后执行所需的更改。这意味着,在表单标记中定义了onsubmit
。
否则将输入类型更改为按钮,然后为该按钮定义onclick
事件。
答案 3 :(得分:5)
这里是简单的代码,你必须为你输入一个id输入,这里称之为'myInput':
var myform = document.getElementById('myform');
myform.onsubmit = function(){
document.getElementById('myInput').value = '1';
myform.submit();
};
答案 4 :(得分:2)
您尝试访问基于name
属性的元素,该属性适用于回发到服务器但javascript响应id
属性。添加与id
具有相同值的name
,并且一切正常。
<form name="myform" id="myform" action="action.php">
<input type="hidden" name="myinput" id="myinput" value="0" />
<input type="text" name="message" id="message" value="" />
<input type="submit" name="submit" id="submit" onclick="DoSubmit()" />
</form>
function DoSubmit(){
document.getElementById("myinput").value = '1';
return true;
}
答案 5 :(得分:1)
我的问题原来是我分配为document.getElementById("myinput").Value = '1';
注意资本V的价值?一旦我把它改成小盒子即;价值,数据开始发布。很奇怪因为它没有给出任何Javascript错误
答案 6 :(得分:0)
您可以使用 onchange 活动
<form name="myform" id="myform" action="action.php">
<input type="hidden" name="myinput" value="0" onchange="this.form.submit()"/>
<input type="text" name="message" value="" />
<input type="submit" name="submit" onclick="DoSubmit()" />
</form>
答案 7 :(得分:0)
这可能会对您有所帮助。
您的HTML
<form id="myform" action="action.php">
<input type="hidden" name="myinput" value="0" />
<input type="text" name="message" value="" />
<input type="submit" name="submit" onclick="save()" />
</form>
您的脚本
<script>
function save(){
$('#myinput').val('1');
$('#form').submit();
}
</script>