我试图有条件地提交一种或另一种形式。我有两种形式,一种是主要的,一种是次要的。我想提交主要的一个来检查次要的输入是否有值,如果是,则提交次要。
Html代码示例
<form id="form1">
<input type="submit" />
</form>
<form id="form2">
<input type="submit" />
</form>
我已经尝试在form1 onsubmit上使用javascript函数来检查我想要的条件,如果条件满足则会提交form2。它虽然没有用。
答案 0 :(得分:1)
您必须停止从第一次提交中传播事件,以便不提交表单。在jQuery中:
$('#form1').on('submit', function(ev) {
ev.stopPropagation();
// Validate
if (validated) {
$('#form2').submit();
}
}
注意:代码尚未经过测试。
答案 1 :(得分:1)
简单示例:
HTML:
<form id="form1">
<input type="submit" onclick="checkTextField();" >
</form>
<form id="form2">
<input type="text" id="text" value="" />
</form>
JS:
function checkTextField() {
if (document.getElementById('text').value=="") {
//alert("Field is empty");
document.getElementById('form1').submit();
}
else{
//alert("Field not empty");
document.getElementById('form2').submit();
}
}
的jsfiddle:
答案 2 :(得分:1)
我希望我理解你要做的事情:你想通过form1提交form2但是只有当form2的输入有值时才会提交吗?
<form id="form1" name="form1" onsubmit="return someFunction()" action="POST">
<input type="submit" value="Submit">
</form>
<form id="form2" name="form2" action="POST">
Some random value: <input type="text" name="something" value="">
</form>
<script>
function someFunction() {
// is the value blank? then don't do a thing. Otherwise submit
if (document.forms["form2"]["something"].value != ''){
document.forms["form2"].submit();
}
// always return false because we never want to submit form1...
return false;
}
</script>
写完之后,我宁愿使用JQuery。