2011-12-16 7 views
1

私は以下の問題があります。私は私がここにhttp://livevalidation.com/がそれらの醜い「警告」を取り除くために見つけlivevalidationを使用して2つの入力フィールドを検証する次のような形式onsubmit(return test();)はfalseを返しません。

    <form name="asianCalculator" action="" id="asianCalculator" onsubmit="return testfunction(this.form);"> 
         <div class="form_row"> 
          <div class="form_label"> 
           Επιλογή Handicap 
          </div> 
          <div class="form_input"> 


enter code here 

    <div class="asian_selector_big"> 
            <select class="selectbox_big" name="handicap" id="handicap"> 
             <option value="-4.00">-4.00</option> 
             <option value="-3.75">-3.75 (-3.5, -4.0)</option> 
             <option value="-3.50">-3.50</option> 
             <option value="-3.25">-3.25 (-3.0, -3.5)</option> 
             <option value="-3.00">-3.00</option> 
             <option value="-2.75">-2.75 (-2.5, -3.0)</option> 
             <option value="-2.50">-2.50</option> 
             <option value="-2.25">-2.25 (-2.0, -2.5)</option> 
             <option value="-2.00">-2.00</option> 
             <option value="-1.75">-1.75 (-1.5, -2.0)</option> 
             <option value="-1.50">-1.50</option> 
             <option value="-1.25">-1.25 (-1.0, -1.5)</option> 
             <option value="-1.00">-1.00</option> 
             <option value="-0.75">-0.75 (-0.5, -1.0)</option> 
             <option value="-0.50">-0.50</option> 
             <option value="-0.25">-0.25 (0.0, -0.5)</option> 
             <option value="0.00" selected="selected">0.0 (level)</option> 
             <option value="0.25">+0.25 (0.0, +0.5)</option> 
             <option value="0.50">+0.50</option> 
             <option value="0.75">+0.75 (+0.5, +1.0)</option> 
             <option value="1.00">+1.00</option> 
             <option value="1.25">+1.25 (+1.0, +1.5)</option> 
             <option value="1.50">+1.50</option> 
             <option value="1.75">+1.75 (+1.5, +2.0)</option> 
             <option value="2.00">+2.00</option> 
             <option value="2.25">+2.25 (+2.0, +2.5)</option> 
             <option value="2.50">+2.50</option> 
             <option value="2.75">+2.75 (+2.5, +3.0)</option> 
             <option value="3.00">+3.00</option> 
             <option value="3.25">+3.25 (+3.0, +3.5)</option> 
             <option value="3.50">+3.50</option> 
             <option value="3.75">+3.75 (+3.5, +4.0)</option> 
             <option value="4.00">+4.00</option> 
            </select> 
           </div> 
          </div> 
          <div class="clear"></div>       
         </div> 
         <div class="form_row"> 
          <div class="form_label"> 
           Επιλλογή ομάδας 
          </div> 
          <div class="form_input"> 
           <div class="asian_selector_big"> 
            <select class="selectbox_big" name="selection" id="selection"> 
             <option value="h">Γηπεδούχος</option> 
             <option value="a">Φιλοξενούμενη</option> 
            </select> 
           </div> 
          </div> 
          <div class="clear"></div>       
         </div> 
         <div class="form_row"> 
          <div class="form_label"> 
           <label for="odds"> 
            Απόδοση σημείου 
           </label> 
          </div> 
          <div class="form_input"> 
           <input class="asian_input" name="odds" type="text" id="odds" value="1.91" /> 
          </div> 
          <div class="clear"></div>       
         </div>  
         <div class="form_row"> 
          <div class="form_label"> 
           <label for="wager"> 
            Ποντάρισμα 
           </label> 
          </div> 
          <div class="form_input"> 
           <input class="asian_input" name="wager" type="text" id="wager" value="100" /> 
          </div> 
          <div class="clear"></div>       
         </div> 
         <div class="form_row"> 
          <div class="form_label"> 
           Επιλογή κέρδους 
          </div> 
          <div class="form_input"> 
           <div class="asian_selector_big"> 
            <select class="selectbox_big" name="calcOption" id="calcOption"> 
             <option value="s" selected="selected" onclick="toggleSpecificOptions(true)">Αποτέλεσμα</option> 
             <option value="a" onclick="toggleSpecificOptions(false)">Γενικά</option> 
            </select> 
           </div> 
          </div> 
          <div class="clear"></div>       
         </div> 
         <div id="form_row_hide"> 
          <div class="form_label"> 
           Αποτέλεσμα 
          </div> 
          <div class="form_input"> 
           <div class="asian_selector_small"> 
            <select class="selectbox_small" name="homeScore" id="homeScore"> 
             <option selected="selected">0</option> 
             <option>1</option> 
             <option>2</option> 
             <option>3</option> 
             <option>4</option> 
             <option>5</option> 
             <option>6</option> 
             <option>7</option> 
             <option>8</option> 
             <option>9</option> 
            </select> 
           </div> 
           <div id="versus">-</div> 
           <div class="asian_selector_small"> 
            <select class="selectbox_small" name="awayScore" id="awayScore"> 
             <option selected="selected">0</option> 
             <option>1</option> 
             <option>2</option> 
             <option>3</option> 
             <option>4</option> 
             <option>5</option> 
             <option>6</option> 
             <option>7</option> 
             <option>8</option> 
             <option>9</option> 
            </select> 
           </div> 
          </div> 
          <div class="clear"></div>       
         </div> 
         <input type="submit" value="Calculate" /> 
        </form> 

を持っています。

私の問題は、私がtestfunction()でいくつかの計算をしたい、私はフォームを提出したくないということです。私は "submit"の代わりにtype = "button"を使用することができましたが、livevalidationは機能しません。

だから私はそれがリターン偽無視して、フォームがsubmitedさ

function testfunction (myform) { 

var odds = myform.odds.value; 
var handicap = myform.handicap.options[myform.handicap.selectedIndex].value; 
    //much more code here 
    return false; } 

のようなものを入力したとき。私はフォームから入力を取得する何も持っていない場合はそれが正常に動作します。私はどのようにフォームを提出する必要はありませんので、送信時に入力を取得しfalseを返すことができますか?

+0

最初に 'OnSubmit = return false'と書いてみてください。うまくいけば、urlのjavascript関数に' alert() 'をいくつか入れて、関数が実行されているかどうかテストします。 urは毎回 'false'を返します。これはサンプルコードです。 'if-else'を使って値を返すと、' alert() 'は返り値を返します。 – william

+0

falseを返しません。エラーが発生し、デフォルトでtrueを返します。エラーは、myformがundefiendであるということです。myformをdocument.asianCalculatorに置き換えた場合、それは機能します。しかし、私はなぜ –

+1

onsubmitイベントのフォームにあなたはthis.formではないthis.formに渡す必要があります参照することはできません – khael

答えて

1

あなたができることは、それを呼び出している間、それは、関数の戻り値(false)を返します

<input type="submit" value="Calculate" onclick="return (testfunction ('yourform'));" /> 

です。

関連する問題