2011-02-10 13 views
2

私の入力ボックスにはJavaScriptのバリデーションをjavascript-coderから使用していますが、ここでは2つの問題があります。javascript入力の検証

まず、スクリプトのバリデーターは、オブジェクトを検証するためにnameを使用します。これはgen_validatorv4.jsのidに変更することができますか?

2番目:テキストボックスによって警告が生成されても、自分のページがリロードされます。ページにとどまり、ユーザーがエラーを修正できるようにすることが考えられます。 (私のバックエンドを使用しているのpython)

<form action="{{ request.path }}" name="myform" method="post" enctype="multipart/form-data" onsubmit="return false"> 
<input type="text" name="amountperIteration"> 
<input type="submit" value="submit" onclick="submitform"> 
</form> 

何かアドバイス:以下

function submitform(){ 
    var frmvalidator = new Validator("myform"); 
    frmvalidator.addValidation("amountperIteration","numeric","Name a price greater than $25"); 
    frmvalidator.addValidation("amountperIteration","gt=25","Name a price greater than $25"); 

    document.forms[0].submit(); 
} 

私のhtmlコードはそのような何かに簡素化され、私のスクリプトの配置のですか?

function submitForm() { 
    var result = validate(this); 

    if (result === false) { return false; } 
} 

フォーム送信プロセスがキャンセルされます方法:提出ハンドラからの検証が失敗した場合、あなたはreturn falseしたい

:あなたの2つ目の質問に答えるために

+5

質問した質問の一部を受け入れる必要があります。 – kgiannakakis

答えて

2

+0

validate()メソッドの 'this'は何の基底を検証しますか? –

+0

@pivotal上記の関数をサブミットハンドラとして使用すると、 'this'値はサブミットされているFORM要素を参照します。しかし、これは送信ハンドラをどのように設定するかによって異なります。つまり、 'form.onsubmit = submitForm;'のようにプログラマチックに行うとうまくいくはずです。 HTMLコードのonsubmit属性を使ってそれを行う場合、私はそれほど確信していません - その場合、 'this'値は代わりにグローバルオブジェクトを参照するかもしれません。 –