2013-02-07 55 views
0

如何禁用或從文本框中刪除頁面回發?如何禁用文本框回發在PHP或JavaScript

當我按回車鍵在文本框中的頁面被回傳。我有一個按鈕來通過ajax函數保存數據。

<form name="test" class="form panel" id="test" method="post"> 
    <input type="text" name="user" /> 
    <input type="button" name="save" value="save" onclick="save()"/> 
</form> 

儲蓄功能的做工不錯,問題是文本框,

回答

2

如果它是那麼AJAX形式防止形式從提交:

<form ... onsubmit="return false;"> 
0

你可以簡單地做

HTML解決方案

<form onsubmit="return false;"> 

JS解決方案

可以定義表格上的按鍵處理程序:

document.querySelector('form').onkeypress = checkEnter; 

function checkEnter(e){ 
e = e || event; 
var txtArea = /textarea/i.test((e.target || e.srcElement).tagName); 
return txtArea || (e.keyCode || e.which || e.charCode || 0) !== 13; 
} 

jQuery的解決方案

$(document).ready(function() { 
    $(window).keydown(function(event){ 
    if(event.keyCode == 13) { 
     event.preventDefault(); 
     return false; 
    } 
    }); 
}); 
0

按在文本框中輸入爲形式的正常行爲,用戶可能會感到困惑當它點擊進入文本框發現什麼都沒有發生。

您可以防止與下面的腳本

<form onsubmit="return okToSubmit;"... 

var okToSubmit=false; 
function save(){ 
// ... your code 
    okToSubmit=true; 
// form.submit(); 
} 
0

提交如果你的唯一的想法是防止對文本框中輸入事件這可能是工作:

<form name="test" class="form panel" id="test" method="post"> 
<input type="text" name="user" onkeydown="if (event.keyCode == 13) event.preventDefault();"/> 
<input type="button" name="save" value="save" onclick="save()"/> 
</form>