2013-03-18 97 views
1

我嘗試使用Ajax調用服務器,當我單擊表單內的按鈕時。但即使使用event.PreventDefault或返回false,它也不會使用Ajax。使用按鈕的Ajax調用單擊表單不起作用

可能是什麼問題。這是我的HTML和jQuery代碼

<form action="/Patient/Search" id="patient-search-form" method="post"> 
<input type="text" id="PatientName" /> 
<button class="btn blue-button" id="search-patients" type="submit"> 
<i class="icon-save icon-white"></i><span>Search</span> 
</button> 
</form> 


<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#search-patients').submit(function (event) { 
      event.preventDefault();    
      SearchPatients(); 
      return false; 
     }); 
    }); 
</script> 
+0

你確定在SearchPatients()函數中沒有問題? – 2013-03-18 11:41:01

回答

5

提交事件處理程序被分配到按鈕,它應該是這樣的形式:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#search-patients-form').submit(function (event) { 
       event.preventDefault();    
       SearchPatients(); 
       return false; 
      }); 
     }); 
</script> 

或者你可以綁定到按鈕單擊事件,而不是:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#search-patients').click(function (event) { 
       event.preventDefault();    
       SearchPatients(); 
       return false; 
      }); 
     }); 
</script> 
+0

它的作品完美。現在我正在使用點擊 – Billa 2013-03-18 11:46:11

+0

這是一個很好的解決方案。如果你使用表單提交,你必須像這個解決方案一樣使用form id'patient-search-form' – 2013-03-18 11:58:01

1
$(document).ready(function() { 
     $('#search-patients').click(function (event) { 
      event.preventDefault();    
      SearchPatients(); 
      return false; 
     }); 
    }); 

你給按鈕的ID there.We需要給表單ID。

+0

@BadDeveloper是否爲你工作 – PSR 2013-03-18 11:42:48

+0

我無法點擊我的表單。只有我可以提交 – Billa 2013-03-18 11:44:17

+0

##是不是id選擇器只有單#:) – Billa 2013-03-18 11:46:40