Jquery 如何停止onload事件?

Jquery 如何停止onload事件?,jquery,Jquery,我使用Ajax和jQuery在提交按钮的点击事件上获得输出 我有两个文件 Index.php(包含jQuery和Ajax代码) actionfile.php(在Index.php中提取Ajax代码发送的数据并将数据存储在文件中的php文件) Index.php: $(“#提交”)。单击(函数(){ var txt=document.getElementById('txt1').value;//文本框值 警报(txt); var txt1=“txt1=”+txt; 警报(txt1); $.aja

我使用Ajax和jQuery在提交按钮的点击事件上获得输出

我有两个文件

  • Index.php
    (包含jQuery和Ajax代码)
  • actionfile.php
    (在
    Index.php
    中提取Ajax代码发送的数据并将数据存储在文件中的php文件)
  • Index.php:

    
    $(“#提交”)。单击(函数(){
    var txt=document.getElementById('txt1').value;//文本框值
    警报(txt);
    var txt1=“txt1=”+txt;
    警报(txt1);
    $.ajax({
    类型:“POST”,
    url:“actionfile.php”,
    数据:txt1,
    成功:函数(){
    警惕(“成功”);
    }
    });
    });
    
    和actionfile.php:

    
    
    问题是,如果我删除代码
    $(“#提交”)。单击(function()
    ajax工作正常,这意味着它在加载页面时提交数据(前提是我在文本框中给出默认值)。当我保留代码
    $(“#提交”)。单击(function()
    原封不动,仅当按下提交按钮时才会调用该函数,但在这种情况下,AJAX失败

    该代码可在

    导致此问题的原因是什么?

    请尝试以下方法:

        $("form").submit(function(e){
            e.preventDefault();
    
            var txt =document.getElementById('txt1').value;  //textbox value
            alert(txt);
            var txt1 = "txt1="+txt;
            alert(txt1);
            $.ajax({
                    type: "POST",
                    url: "actionfile.php",
                    data:txt1,
                    success: function() {
                       alert("success");
    
                       //here you can simulate click submit
                    }
                });
            });
          });
    

    只需将类型表单
    提交
    更改为
    按钮

    <input type="button" value="submit" id="submit" name="submit" />
    
    
    
    像这样使用:

    将提交更改为按钮

          <form name="myform" method="post">
          <input type="text" name="txt1" id="txt1" value="121212"/>
          <input type="button" value="submit" id="submit" name="submit" onclick="test();" />
    
    
    <script> 
           function test()
     { 
    var txt =document.getElementById('txt1').value;  //textbox value
    alert(txt);
    var txt1 = "txt1="+txt;
    alert(txt1);
    $.ajax({
            type: "POST",
            url: "actionfile.php",
            data:txt1,
            success: function() {
               alert("success");
            }
        });
     }
    </script> 
    
    
    功能测试()
    { 
    var txt=document.getElementById('txt1').value;//文本框值
    警报(txt);
    var txt1=“txt1=”+txt;
    警报(txt1);
    $.ajax({
    类型:“POST”,
    url:“actionfile.php”,
    数据:txt1,
    成功:函数(){
    警惕(“成功”);
    }
    });
    }
    

    希望这能为您提供一些解决方案。

    当您删除
    $(“#提交”)时,您的代码可以正常工作。单击(function()
    ,因为您的
    已发布,数据已发送

    要让AJAX提交数据,您需要使用
    type=“button”
    ,或将事件更改为:

    $("#submit").click(function(e) {
        e.preventDefault();
    

    “AJAX失败”是什么意思?您是否收到任何错误消息?好的,表单中的按钮就像提交按钮一样。@Baadshah谁说的?您可以自己试试。只需更改上面链接上的类型并尝试一下:)@Baadshah:
    type=“Button”
    将不会提交表单。
    type=“submit”
    will。你为什么要用内联事件处理程序替换绑定事件处理程序?@Rocket检查一下,它会给出准确的输出。是的,我知道它会。但这是一种不好的做法,仍然不能解决他的问题。我没有。我不喜欢内联事件处理程序,但我没有否决投票。@Rocket没问题,伙计。总之,我从你那里学到了一些东西。谢谢很多