2014-07-11 135 views
-2

我使用JavaScript來驗證我的HTML(檢查,如果用戶輸入正確的數據)的源代碼和它比簡單的多,但問題是,當我按下提交按鈕我看不到任何結果或提醒HTML JavaScript不工作或顯示一個警告

<script type= "text/javascript"> 

    function checkname() 
    { 
     name = document.getElementById("myname"); 
     var reg= /^[A-Z][a-z]+$/ 
     if (!name.value.match(reg)) 
     { 
      alert("Please enter your name begin with a CAPITAL letter"); 
      return false; 
     } 


     if (name.value=="") 
     { 
      alert("you kindly forget to put your name here"); 
      return false; 
     } 
     return name.value("Welcome" + name + " to valet parking service VPS"); 
    } 

    </script> 

這是所有在腳本現在寫在按鈕中鍵入

<input type="submit" value=" submit " > 

HTML標籤上的第一部分,這是寫在哪表格

<form onsubmit = " checkname(); return false; "> 
+0

你說的 「驗證我的HTML源代碼」 是什麼意思? – MightyPork

+1

,順便說一句,你永遠不會將'checkname()'函數綁定到提交按鈕,所以很明顯它不起作用。而且,你的函數中間有一個無條件的'return true;',所以其餘的都不會被執行。 – MightyPork

+1

使用像螢火蟲或鉻開發工具的工具,看看你有什麼js錯誤。 –

回答

0

這是錯誤的(你總是返回false就提交功能):

<form onsubmit = " checkname(); return false; "> 

試試這個:

<form onsubmit="return checkname();"> 

然後修改你的檢查名函數是這樣的:

function checkname() 
{ 
    var name = document.getElementById("myname"); 
    var reg= /^[A-Z][a-z]+$/ 
    if (!name.value.match(reg)) 
    { 
     alert("Please enter your name begin with a CAPITAL letter"); 
     return false; 
    } 

    if (name.value=="") 
    { 
     alert("you kindly forget to put your name here"); 
     return false; 
    } 

    name.value("Welcome" + name + " to valet parking service VPS"); 

    return true; 
} 
+0

但仍然沒有工作沒有警報通知 – mba3gar

0

這裏是JSFiddle:http://jsfiddle.net/267wL/

HTML

<form action="demo.html" id="myForm" onsubmit = "checkname(); return false; " method="post"> 
    <p> 
     <label>First name:</label> 
     <input type="text" id="myname" /> 
    </p> 
    <input type="submit" value=" submit "/> 
</form> 

的JavaScript

function checkname() 
{ 
    var name = document.getElementById("myname"); 
    var reg= /^[A-Z][a-z]+$/; 
    if (!name.value.match(reg)) 
    { 
     alert("Please enter your name begin with a CAPITAL letter"); 
     return false; 
    } 
    name.value = "Welcome " + name.value + " to valet parking service VPS"; 

    return false; 
} 

您不必檢查空值。如果name.value爲空,您的正則表達式驗證失敗。

還要注意歡迎消息是在輸入文本中設置的。奇怪的行爲...

+0

仍然沒有警報通知 – mba3gar

+0

您測試了JSFiddle鏈接嗎?一切正常,問題必須是相對於你的JavaScript代碼 –

0

返回true;將阻止所有以下代碼。

+0

我做到了,但我仍然沒有提醒通知它比奇怪,我不能解決它 – mba3gar

+0

@ mba3gar嘗試把其他和警報:if(name.value ==「」){...} else {alert(name.value);}。當仍然沒有提醒時,恐怕checkName()根本不會被調用。 –

0

嘗試這個

<script> function checkname() { 
var x = document.forms["myForm"]["myname"].value; 
if (x==null || x=="") { 
    alert("First name must be filled out"); 
    return false; 
} 

}

<form name='myForm' action='action.php' onsubmit='return checkname()' method='post'> 
First name: <input type="text" name="myname"><input type="submit" value="Submit"></form>