2016-11-07 48 views
-1

我已經制作了一個表單,其中一些輸入框會動態顯示,其中有些需要=「必需」,有些則不需要。我使用ajax提交此表單,並且只要必填字段爲空,我就想通過Jquery/Ajax提醒一些事情。輸入框的名稱是動態的,如名稱[],滾動[]。我怎樣才能做到這一點?驗證表單提交時的輸入框

//樣品

<form action="page.php"> 
    <div class="form-group"> 
    <label style="font-size:15px">Name</label> 
    <input type="text" name="name[]" class="form-control" placeholder="Enter your name" value="" required> 
    <input type="text" name="class[]" class="form-control" placeholder="Enter your class" value=""> 
    </div> 
</form> 

相同的輸入框動態上來點擊添加更多,我要提交,並希望在需要時字段爲空,提醒通過Jquery的一個消息。

+1

你能提供代碼甚至更好的jsfiddle嗎? – Thanasis

+0

http://stackoverflow.com/help/how-to-ask你的代碼在哪裏,你有什麼試過? –

+0

我編輯了我的問題。 –

回答

-1

您可以使用onblur函數。當用戶點擊輸入框時,onfocus功能被觸發,當用戶點擊輸入框外的某個地方時,觸發onb​​lur功能。所以,你可以檢查輸入的值是否爲空當的onblur功能,在下面的代碼triggeres,如:

<input type="text" name="name[]" class="form-control" 
    placeholder="Enter your name" value="" 
    onblur="if (this.value=='') alert('MY MESSAGE');" 
    required> 

這是你想要的嗎?它有用嗎?請告訴我。

編輯

爲了得到警報,當用戶點擊提交,你應該給這樣的一個ID,輸入框(如inputId):

<input id="inputId" type="text" name="name[]" class="form-control" 
    placeholder="Enter your name" value="" 
    onblur="if (this.value=='') alert('MY MESSAGE');" 
    required> 

,然後添加這你的表單標籤:

<form id="main_form" action="" 
    onsubmit="if (inputId.value=='') { alert('MY MESSAGE'); return false; }"> 

AJAX代碼:

function register_post() { 
    $.ajax({ 
     url: "check.php", 
     type: "POST", 
     data: new FormData($("#main_form")[0]), 
     contentType: false, 
     cache: false, 
     processData: false, 
     success: function(data) { 
      $("#get_det").html(data); 
      document.getElementById("register_post").submit(); 
     }, 
     error: function(data) { 
      alert("There was an error. Please check details and try again."); 
     } 
    }); 
} 
+0

不,它給出了一個錯誤。未捕獲的SyntaxError:無效或意外的標記 –

+0

此外,它只會在用戶專注於該輸入框時纔會發出警報。如果用戶點擊提交而沒有關注輸入框會怎麼樣? –

+0

忘記關閉撇號'('我的消息')'。再次嘗試編輯的代碼。 – Thanasis