有条件的表格提交

时间:2014-06-25 21:53:45

标签: javascript html

我试图有条件地提交一种或另一种形式。我有两种形式,一种是主要的,一种是次要的。我想提交主要的一个来检查次要的输入是否有值,如果是,则提交次要。

Html代码示例

<form id="form1">
    <input type="submit" />
</form>
<form id="form2">
    <input type="submit" />
</form>

我已经尝试在form1 onsubmit上使用javascript函数来检查我想要的条件,如果条件满足则会提交form2。它虽然没有用。

3 个答案:

答案 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:

http://jsfiddle.net/FavbL/4/

答案 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。