2011-07-04 8 views

答えて

3

あなたはとreturn文を置き換えることができ

if (!validate_form()) alert("Your value was invalid."); 

ドキュメント自体にエラーメッセージを表示したい場合は、あなたが何かなどを行い、そしてerror()して上記alert()を置き換えることができます:

function error(message) { 
    document.getElementById("error").innerHTML = message; 
} 

これは、あなたがid="error"などを使用してHTMLの要素を持っていることを前提としています。

<div id="error"></div> 
+0

この答えは、変数の2番目の閉じ括弧を取り除かなければならない方法で、私のために働きます。しかし、私はdocument.writeをポップアップの形でアラートの代わりにページにエラーメッセージを置くとき、それはエラーメッセージから離れてすべてをクリアします。助言がありますか? – RSM

+0

この理由から、 'document.write'の使用を勧めません。まれに、ページ読み込み時に使用する場合を除いて、ページを常にクリアします。 document.getElementById( "error")。innerHTML = "あなたの値は無効でした。";私は答えをより長い例で更新します。 –

0
function validate_form() { 

return (/^[a-fA-F0-9]+$/.test(document.form.input.value)) ? "":alert("There is a problem with your input"); 

} 

実施例:あなたは、上記のように、あなたの検証機能を保つことができ、また

var isValid = /^[a-fA-F0-9]+$/.test(document.form.input.value); 
if (!isValid) alert("Your value was invalid."); 
return isValid; 

、および実行します:http://jsfiddle.net/Q9qVU/

+0

私は例のユーザー入力が関数内でハードコードされているように見えます。ユーザーはおそらく本当のハッカーです。 – katspaugh

+0

テストするだけです。以来、彼はhtmlを投稿していない。 –

1
function validate_form() { 

    var alphanumeric = /^[a-fA-F0-9]+$/.test(document.form.input.value); 
    if(!alphanumeric){ alert("Silly human, you cannot use punctuation here!"); } 
    return alphanumeric; 

} 
+0

@Will_Martin私はこの答えが好きですが、私は警告を書くように変更するので、そのメッセージが画面に表示され、ポップアップボックスが表示されずにメッセージが表示されます。助言がありますか? – RSM

+0

'document.write()'を使ってメッセージを出力しようとしているようです。これは最初のページの読み込み時にのみ機能します。 "document.getElementById(" whatever ")のようなものを試してみてください。innerHTML =" hi ";' - もしjQueryを使っていれば '$("#何でも ")です。 。他のフレームワーク(プロトタイプなど)は、HTMLを文書に書き込む独自のメソッドを持っています。フレームワークのAPIドキュメントを確認してください。 –

関連する問題