2012-02-28 23 views
-1

JavaScriptのヘルプが必要です。ここに私の問題です:JavaScriptが動作しない場合

<script type="text/javascript"> 
    function validateForm() { 
     var ime = document.getElementById('ime'); 
     var prezime = document.getElementById('prezime'); 
     var telefon = document.getElementById('telefon'); 
     var datum = document.getElementById('datum'); 
     var patt1 = /^\+[0-9]+$/; 
     if (telefon.match(patt1) == null) { 
      alert("Niste dobro uneli broj"); 

     } 
     if (ime.value.length == 0 && prezime.value.length == 0 && telefon.value.length == 0 && datum.value.length == 0) { 
      alert("Niste dobro uneli podatke!"); 
      return false; 
     } 

    } 
</script> 
<form action="popup.php" method="post" onsubmit="return validateForm()">Vase ime: 
    <input type="text" name="ime" id="ime"> <br/> 
    Vase prezime: 
    <input type="text" name="prezime" id="prezime"> <br/> 
    Broj telefona: 
    <input type="text" name="telefon" id="telefon"> <br/> 
    Datum rodjenja: 
    <input type="text" name="datum" id="datum"> <br/> 
    <input type="submit" name="save" value="sacuvaj"> 
</form> 

なぜ私は理解していませんtelefon.match(patt1)==null)は動作しません。助けてください!

+0

電話番号のダッシュやスペースを許可する必要がありますか?/^ \ + [\ d \ - \ s] + $ /などのように、それをトリミングするだけですか? – menacingly

+0

JavaScriptでは、他の言語と同じように、改行に中括弧を入れないでください。 – danwellman

+0

どうすればよいかの例は、http://stackoverflow.com/questions/tagged/regex%20javascript?sort=active&pagesize=50を参照してください。あなたの質問をよく聞く。具体的には、あなたのタイトルにはあなたが聞いてみたい質問を記述する必要があります。 (このHTMLのような)不必要なコードがあってはいけません。あなたのコードが何をしたいかを定義し、どの部分が問題を抱えているのかを定義する必要があります。一般的に、この質問は将来のサイト利用者にとって重要である。 – ninjagecko

答えて

3

理由は、あなたがHTML要素に正規表現を適用することはできませんので、あなたはその値に適用することができます:

var telefon = document.getElementById('telefon').value; 

次にあなたが

0

TELEFONはDOM要素であるのvar TELEFONであなたの正規表現を実行することができます、文字列ではなく

telefon.valueはtelefonに格納されているオブジェクトは、DOM要素(例えばでしょう

0

を一致させることができるHTMLDivElement)、メソッド "match"はありません。マッチする前にその要素から適切なテキストを抽出したいと思うでしょう。あなたはどのように正確なDOMの種類に応じて異なります:

if (telefon.value.match(patt1) == null) // For form elements... 

if (telefon.innerHTML.match(patt1) == null) // For "plain" DOM elements... 
関連する問題