簡體   English   中英

防止通過ID在jQuery中提交表單

[英]Prevent form submission in jQuery by ID

我正在使用jQuery Ajax函數來檢查jquery更改函數在數據庫中是否存在用戶電子郵件。 在Ajax響應中,用戶電子郵件存在或不存在兩種可能性。 如果存在,則顯示錯誤消息。 現在,如果Ajax響應為假,我想阻止表單提交

    jQuery("#userEmail").change(function(){
//my code goes here
    if(result == 'False'){
       //prevent form here 
     }
    else {
  // else condition goes here
     }

     });

您可以將全局變量

emailValidated = false

然后

jQuery("#userEmail").change(function(){
//my code goes here
  if(result == 'False'){
   emailValidated = false;
  }
  else {
  // else condition goes here
    emailValidated = true;
  }

 });

之后,在表單上提交,檢查emailValidated變量的值。

$(form).submit(function(){
  if(emailValidated) {
     this.submit();
  }
  else {
    return false;
  }
})

使用e.preventDefault()阻止提交表單。

jQuery("#userEmail").change(function(e){
    if(result == 'False'){
      e.preventDefault();
     }
    else {
     }   
  });

您需要使用Submit事件處理程序:

jQuery("#userEmail").closest("form").submit(function(event){
    var $email = jQuery("#userEmail", this);

    //the email field is not `this`, but `$email` now.

    //your code goes here
    if(result == 'False'){
       event.preventDefault();
     }
    else {
       // else condition goes here
    }

});

如果需要,您仍然可以將其他行為附加到更改事件。 重要的是對submit事件執行event.preventDefault()

做這樣的事情:

var結果;

$.ajax({
  url: url,
  // Put all the other configuration here
  success: function(data){
    if(data == something) // replace something with the server response
      result = true; // Means that the user cannot submit the form
  },
});

$('#formID').submit(function(){
  if(result){
    alert('Email already exists.');
    return false;
  }
});
  • 步驟如下:
    1. 從Jquery的輸入字段中獲取用戶傳遞的電子郵件值。
    2. 將數據發布到您的PHP查詢文件,並獲取有關jquery的“成功:函數(數據)”函數的響應數據。
    3. 在頁面上顯示該數據數據。

檢查以下鏈接以獲取參考。 http://www.sitepoint.com/jquery-ajax-validation-remote-rule/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM