jQuery Ajax只需单击一次即可触发2个事件

yuri1000

我几乎不知道jQuery Ajax。我试图通过一次单击一起触发2个事件。但是不知何故它不起作用。我不明白我缺少的地方。

$(document).ready(function() {
  $("#trigger").click(function(e) {
    e.preventDefault();
    var text = $(this).data('text');
    var formname = $(this).data('formname');
    var agree = confirm(text);
    if (agree)
      var getcururl = window.location.href;
    var testid = $('#testid').val();
    $.ajax({
      method: 'POST',
      url: 'test.php',
      data: {
        getcururl: getcururl,
        testid: testid
      },
      success: function(data) {
        if (data != '') {
          alert(data)
        }
      },
      error: function(data) {
        alert('Something went wrong, Please contact admin');
      }
    });
  });
  else
    return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a id="trigger" href="#" data-text="Are you sure?" data-formname="testform">Click</a>
<input type="hidden" id="testid" value="myname" />

寻找有关此问题的建议。如果只运行ajax发布而没有确认警报,那么它可以工作,我想在用户单击该按钮之前显示警报,然后在同意的情况下处理ajax发布。

我做对了吗?

JSFIDDLE演示

格雷格·邓肯

如果将“其他”陈述移动到其所属位置,则可能会起作用。但更好的方法是将其分解为多个功能。这样可以更容易理解和维护。

$(document).ready(function() {
        $("#trigger").click(function(e) {
            var text = $(this).data('text');
            var agree = confirm(text);
            if (!agree){
                return false;
            }
            runAjax();
        });

    });

function runAjax(){
    var getcururl = window.location.href;
    var testid = $('#testid').val();
    $.ajax({
        method: 'POST',
        url: 'test.php',
        data: {
            getcururl: getcururl,
            testid: testid
        },
        success: function(data) {
            if (data != '') {
                alert(data)
            }
        },
        error: function(data) {
            alert('Something went wrong, Please contact admin');
        }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击事件仅触发一次JQuery / bPopup

来自分类Dev

jQuery 单击事件仅触发一次

来自分类Dev

jQuery - 一次触发 2 个不同结果的按钮

来自分类Dev

jQuery单选按钮在第一次单击时不会触发事件

来自分类Dev

jQuery事件触发一次,然后不再触发

来自分类Dev

jQuery UI效果.on单击仅触发一次

来自分类Dev

jQuery .change()事件仅触发一次

来自分类Dev

更改事件处理程序仅触发一次,jQuery

来自分类Dev

仅触发一次jQuery滚动事件

来自分类Dev

仅触发一次jQuery mousemove事件

来自分类Dev

jQuery Bootstrap Datepicker Click事件仅触发一次

来自分类Dev

更改事件处理程序仅触发一次,jQuery

来自分类Dev

仅触发一次jQuery滚动事件

来自分类Dev

jQuery Mobile vclick事件仅触发一次

来自分类Dev

jQuery animate仅通过keypress事件触发一次

来自分类Dev

JQuery 监听多个事件,但只触发一次

来自分类Dev

jQuery单击事件仅在第一次工作

来自分类Dev

jQuery和AJAX单击仅可使用一次

来自分类Dev

一个元素上有2次单击事件,只需运行一次

来自分类Dev

jQuery触发器一次仅适用于addEventListener指定的一个事件

来自分类Dev

当我触发事件时,它会触发几次,而不是在jQuery中触发一次

来自分类Dev

jQuery只允许一次单击一次选择一个div元素

来自分类Dev

jQuery click事件来交换文本,但不会在第一次单击时触发,而是在之后触发

来自分类Dev

仅触发一次jQuery函数?

来自分类Dev

jQuery bind()仅触发一次

来自分类Dev

jQuery单击仅工作一次

来自分类Dev

jQuery单击仅工作一次

来自分类Dev

jQuery只单击一次

来自分类Dev

jQuery只允许单击一次