Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery submit()执行之前运行代码?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jQuery submit()执行之前运行代码?

Javascript 如何在jQuery submit()执行之前运行代码?,javascript,jquery,Javascript,Jquery,基本上,我有一个表单和一个在表单提交时执行的验证函数。但是,我希望在验证运行之前运行一些其他代码。我试过这个:,但不起作用 以下是我所拥有的: $('form').submit(function(){ $('form').trigger('before-submit'); if($(this).find('error').exists(event)) event.preventDefault(); }); $('form').bind('before

基本上,我有一个表单和一个在表单提交时执行的验证函数。但是,我希望在验证运行之前运行一些其他代码。我试过这个:,但不起作用

以下是我所拥有的:

  $('form').submit(function(){
    $('form').trigger('before-submit');

    if($(this).find('error').exists(event))
      event.preventDefault();
  });


  $('form').bind('before-submit', function(e) {
    if($('#url').val=='http://')
      $('#url').val('');
      alert('test');
  });
你可以做:

$(function() { $('#formLogin').submit( function() { alert("Something"); //do something else here return true; }); }); $(函数(){ $('#formLogin')。提交(函数(){ 警惕(“某事”);//在这里做点别的 返回true; }); }); 这个怎么样:

$('form').submit(function(){
  beforeSubmit(function(){
    // this function is the 'callback' function
    if($(this).find('error').exists(event))
      event.preventDefault();
  });
});

function beforeSubmit(fn) {
  if($('#url').val=='http://'){
    $('#url').val('');
    alert('test');
  }
  // call the 'callback' function you gave as argument
  fn();
}

为什么不在验证之前直接调用“其他代码”呢?第一部分是在外部文件中,第二部分是用PHP生成的。在验证之前,你仍然可以调用函数,然后在其他地方定义该函数。嗨,Sander,你的解决方案对我有用。谢谢现在,如何实现成功/失败/完成函数?这不是这个问题的答案,也不能以任何方式解决问题。@MartinJaneček这段代码在表单submit()执行之前运行,不是吗。。?我想这是我们想要的。。。否则我猜这不会被接受为正确答案。。!不,它没有-在
中模拟它-在
外部(验证)
之前,某些东西将不会显示。正确评论这个问题,因为它被认为是正确的答案,而它并不能解决问题。