2017-02-28 111 views
0

我應該按回車鍵提交表單防止默認不工作,不知道爲什麼

這個FIDDLE我的代碼does not工作,但它的工作原理就這一個FIDDLE2。 我不太確定爲什麼,想看看有沒有人知道爲什麼。該代碼是完全一樣的

var i = 0; 
var allowed = /^[a-zA-Z0-9]+$/; 

$('#form').submit(function(e) { 
    var input = $('#t_input1').val(); 
    var ar = $('#t_input1').data('name'); 
    if (!allowed.test(input)) { 
     alert("Name can have only letters and numbers.\n\n Names Already Submitted: " + ar.join(" , ")); 
     return false; 
    } else { 
     ar[i] = input; 
     alert("Your name was successfully submitted\n\n Names Already Submitted: " + ar.join(" , ")); 
     i = i + 1; 
     return false; 
    } 

}) 

回答

0

您還沒有包含在第一小提琴jQuery,這就是爲什麼$不能得到解決或定義的錯誤是存在的。

第二小提琴確實包括jQuery並且它按預期工作。

-1
Add 

    $('#form').submit(function(e){ 
e.preventDefault(); // Saves from Reloading of page 
var input = $('#t_input1').val(); 
    var ar = $('#t_input1').data('name'); 
    if(!allowed.test(input)){ 
     alert("Name can have only letters and numbers.\n\n Names Already Submitted: "+ ar.join(" , ")); 
     return false; 
    }else{ 
    ar[i]= input; 
      alert("Your name was successfully submitted\n\n Names Already Submitted: "+ ar.join(" , ")); 
     i = i+1; 
     return false; 
    } 
}); 
+0

沒有工作不確定 – Lawl

-1

請嘗試下面的代碼
當輸入與您的正則表達式不匹配時,將發生驗證,頁面將不會提交。在如果
使用的preventDefault(!allowed.test(輸入)){

$('#form').submit(function (e) { 
      var input = $('#t_input1').val(); 
      var ar = $('#t_input1').data('name'); 
      if (!allowed.test(input)) { 
       alert("Name can have only letters and numbers.\n\n Names Already Submitted: " + ar.join(" , ")); 
       e.preventDefault(); 
       return false; 
      } else { 
       ar[i] = input; 
       alert("Your name was successfully submitted\n\n Names Already Submitted: " + ar.join(" , ")); 
       i = i + 1; 
       return false; 
      } 
     }) 
+0

由於jQuery不工作 –

0

是表示$沒有定義。這意味着您的項目中不包括jQuery。 在您的代碼中添加jQueryworking fiddle here

相關問題