2011-10-24 78 views
3

我有一個簡單的表單,它接受來自文本框和textarea的標題和內容變量。該表格會將其數據發送到名爲add-post.php的文件。但是,我正在尋找一種方法來提醒用戶,如果他們單擊提交按鈕,文本框或textarea都有無效數據(爲空)。如果表單不具有有效值,則顯示alert()對話框

我在想,alert()彈出框將是最好的主意,因爲它不會重定向到任何其他頁面,用戶永遠不會丟失他們的數據(想象他們輸入了大量的文本,但忘記了標題。數據到add-post.php,並在那裏執行檢查將導致用戶數據丟失)。

但是,我不知道如何實際實現alert()彈出。我將如何製作它,以便在點擊提交按鈕之後完成檢查,但在數據發送到下一個文件之前。任何建議表示讚賞。

+0

可以顯示代碼,您撥打電話到'附加post.php'? – Ryan

+1

您可以使用提醒,但如果您使用html和css創建了自己的提醒框,然後使用javascript創建了它的實例,它看起來會更專業。 http://javascript.internet.com/miscellaneous/custom-alert-box.html –

回答

4

在表單中添加這樣的事情

<form name="frm1" onsubmit="InputChecker()"> 

然後在JavaScript

<script type="text/javascript"> 
function InputChecker() 
{ 
    if(document.getElementById({formElement}) != '') { // not empty 
     alert("This element needs data"); // Pop an alert 
     return false; // Prevent form from submitting 
    } 
} 
</script> 

也正如其他人所說jQuery使這是一個稍微容易一些。我強烈建議jQuery Validate Plugin

有些人確實發現警告框「煩人」,所以最好在DOM中附加一條消息讓用戶知道需要修復的東西。如果存在大量錯誤,這是非常有用的,因爲錯誤會更持久,從而允許用戶查看所有需要修復的內容。再次,jQuery Validate插件內置了這個功能。

+0

jQuery驗證非常好;即使你不打算在整個應用程序中使用jQuery,至少應該考慮使用帶有表單的頁面。 –

3

onsubmit事件附加到表單中,如果檢查失敗,則將return false;附加到停止提交。

+0

從我看到的這是一個非常輕便和乾淨的做事方式。 +1 – n0pe

1

當涉及到客戶端驗證時,您有很多選擇。這只是一個。


<form id="tehForm" method="post"> 
    <input type="text" id="data2check" > 
    <input type="button" id="btnSubmit" /> 
</form> 
<script type="text/javascript"> 
    function submit_form(){ 
     if(document.getElementById("data2check").value!="correct value"){ 
      alert("this is wrong"); 

     }else{ 
      document.getElementById("tehForm").submit(); 
     } 
    } 
</script>

對於更深入的例子檢查出 this link

+0

我也有一個jQuery插件的代言http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ – Terrance