form.submit()不起作用

时间:2017-12-28 05:40:28

标签: javascript jquery html forms

我需要做一些事情来使用ruby cgi输出一些东西。 因此必须首先提交表单,然后提交js以更改元素值。 使用form.submit()在我的情况下不起作用。

使用下面的简单示例在提交表单后输出click me值。 当运行form.submit()函数时,js将无法点击我。

表单onsubmit方法不能用,因为它在提交表单之前先调用javascript函数(必须首先提交表单然后调用JS函数来执行某些操作)

任何想法解决这个问题: 注意:必须首先提交

$(document).on('click','#afterbutton',function() {
    var form = document.getElementById("myForm");
    //form.submit();
    document.getElementById("test").innerHTML = "afterbutton";
    
    });
    
     $(document).on('click','#beforebutton',function() {
    var form = document.getElementById("myForm");
    //form.submit();
    document.getElementById("test").innerHTML = "beforebutton";
    
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
     <input type="submit" value="formSubmitbutton" id="submit"><br>
     <button id="beforebutton">beforebutton</button><br>
     </form>
     <button id="afterbutton">afterbutton</button><br>
     <p id="test">click me</p>

1 个答案:

答案 0 :(得分:1)

确定简单的问题,如果你在<\ n>提交来覆盖 form.submit 方法,如果你在<强> devtool 你会看到一些告诉你的事情

form.submit is not a function 

所以要解决此问题,请将您的第一个输入的ID更改为提交,而不是 submit123

<input type="submit" value="formSubmitbutton" id="submit123"><br>

查看下面的代码并告诉我你的想法

&#13;
&#13;
$(document).on('click','#afterbutton',function(event) {
    event.preventDefault();
    var form = document.getElementById("myForm");
    form.submit();
    document.getElementById("test").innerHTML = "afterbutton";
    
    });
    
     $(document).on('click','#beforebutton',function(event) {
     event.preventDefault();
    var form = document.getElementById("myForm");
    form.submit();
    document.getElementById("test").innerHTML = "beforebutton";
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
     <input type="submit" value="formSubmitbutton" id="submit123"><br>
     <button id="beforebutton">beforebutton</button><br>
     </form>
     <button id="afterbutton">afterbutton</button><br>
     <p id="test">click me</p>
&#13;
&#13;
&#13;