onsubmit (return test ();) не возвращает false; - PullRequest
1 голос
/ 16 декабря 2011

У меня следующая проблема.У меня есть следующая форма

                    <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>

Я хочу проверить 2 поля ввода, поэтому я использовал живое подтверждение, найденное здесь http://livevalidation.com/, чтобы избавиться от этих уродливых «предупреждений».* Моя проблема сейчас в том, что я хочу сделать некоторые вычисления в testfunction () и не хочу, чтобы форма была отправлена.Я мог бы использовать type = "button" вместо "submit", но в этом случае livevalidation не будет работать.

Так что, когда я набираю что-то вроде

function testfunction (myform) {

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

Он игнорирует возвратложь и форма отправлена.Если у меня нет ничего, что получает входные данные из формы, оно работает нормально. Так как я могу получить входные данные при отправке и вернуть false, чтобы форма не была отправлена?

1 Ответ

1 голос
/ 16 декабря 2011

То, что вы можете сделать, это

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

, он будет возвращать (false) функцию при ее вызове.

...