为什么我的javascript函数在没有理由的情况下中途停止

时间:2013-05-08 19:42:19

标签: javascript html if-statement

请注意,此页面仅适用于学校项目,不适用于付款页面。 我的代码在提交时执行,但只能检查名称,如果日期或cvc代码有问题,它会跳过它并继续,好像它收到了一个真值。我的截止日期临近,任何帮助都会很棒。我需要它做的就是运行整个代码。 现在可以找到代码的示例 http://www.come-get-me-games.x11s.org/confirm_booking.php

该区域的代码是

    <script type="text/javascript">
    function check(){
        var num = document.getElementById('cardNumber');        
        var name = document.getElementById('nameOnCard');
        var dater = document.getElementById('expDate');
        var cvc = document.getElementById('cvc');

        if(num.value==="" || num.value===null){
            alert('Please enter your card number');
            return false;
        }else if (name.value==="" || name.value===null){
            alert('Please enter the as it appears on the card');
            return false;
        }else if (dater.value==="dd/mm/yyy" || dater.value === "" || dater.value===null){
            alert('Please Enter a Date');
            return false;
        }else if (cvc.value==="" || cvc.value===null){
            alert('Enter the CVC number, this can be found as the \n last 3 digits on the number on the back of your code');
            return false;
        } else {
            var check = confirm('Are you sure you wish to purchase these tickets');
            if(check === true){
                return true;
            }else{
                return false;
            }
        }
    }

</script>

</table>
</div>
    <div style="text-align:left;position:absolute;bottom:0px;left:10px;width:480px"> 
        <?php echo "Total ticket price &pound".$price ?><br>
        <br>
        <h3>Payment</h3>
        <form method="post" action="scripts/ticket_buy.php" onSubmit="return check()">
        <div class="item_container">
            Card Number <input value="" type="text" id="cardNumber" name="cardNumber" style="position:absolute;right:0px" /><br />
            Name On Card<input value="" type="text" id="nameOnCard" style="position:absolute;right:0px" name="nameOnCard" /><br />
            Expiry Date<input value="" type="date" id="epxDate" style="position:absolute;right:0px" name="expDate" /><br />
            CVC Number<input value="" type="text" id="cvc" style="position:absolute;right:0px" name="cvc">
            <br />
            <input type="hidden" value='<?php echo $eventIDwanted ?>' name="eID">
            <input type="hidden" value="<?php echo $performanceIDwanted ?>" name="pID">
            <input type="submit" value="Purchase" class="button_default" style="width:480px">
        </div>
        </form>
   </div>

2 个答案:

答案 0 :(得分:3)

更正日期的ID。在你的JS中你有expDate,而在输入中你有epxDate

 Expiry Date<input value="" type="date" id="expDate" style="position:absolute;right:0px" name="expDate" /><br />

工作 jsfiddle

请注意:只要你的JS似乎没有工作,就使用firebug控制台或chrome控制台来查看是否有任何JS错误。

答案 1 :(得分:0)

你有一个拼写错误的epxDate而不是expDate。此外,如果您将脚本放在顶部而不确保DOM已准备好可能会产生问题。因此,请将其移至底部或将其加载到DOm就绪或加载(不推荐)。