2017-09-26 49 views
1

我想要做的是當有人點擊提交按鈕時獲取所有輸入和數據。點擊jQuery不返回任何值

我的HTML代碼是這樣的:

<form id="form" action="index.php" method="POST" class="register" name="Register"> 
    <label>Patient Name:</label> 
    <input id="pname" name="pname" placeholder="John Doe" type="text" data-role="justText" value=""><br><br> 
    <label>Phone Number:</label> 
    <input id="ptel" type="tel" name="ptel" value=""><br><br> 
    <label>Email:</label> 
    <input id="pemail" placeholder="[email protected]" type="email" value=""><br><br> 
    <button id="submit" class="submit" type="submit" name="register">Registrar</button> 
</form> 

不知道這是最好用的按鈕或輸入標籤的提交表單。而jQuery來處理我所試圖做的是這樣的:

jQuery.fn.extend({ 
     hello: function() { 

      submitbutton = $(this).find('button').attr('id'); 
      $inputs = $(this).find('input'); 

      knowInputs = function() { 
       $inputs.each(function() { 
        console.log($(this).attr('name')); 
       }); 
      } 

      $('#'+submitbutton).on('click', function() { 
       knowInputs(); 

      }) 
      return this; 
     } 
    }); 

於是,我把表格ID和初始化函數是這樣的:

$(#form).hello(); 

PD:如果我把代碼knowInputs在(點擊)之外,它似乎工作正常。我的問題是當我試圖收集所有點擊提交按鈕時。

任何幫助將不勝感激。提前致謝!

+2

爲什麼不在表單的提交事件中獲取表單數據?沒有必要爲此擴展JQuery。 –

回答

2

表單有一個本地Javascript事件,submit。 jQuery還有一個函數$.serialize,它可以將表單轉換爲編碼的URL字符串,這可能是您希望的最標準格式。您可以輕鬆將其轉換爲JSON或JS對象。

$('#form').submit(function(e){ 
    e.preventDefault(); 
    return $(this).serialize(); 
}); 
+0

這幫了我很多。我需要知道輸入的一些屬性,就像「類型」和「名稱」一樣,但是用你給我的方法幫助我很多。謝謝,@Bricky –