命令按钮不响应JS函数

时间:2014-06-30 00:52:50

标签: javascript

我非常接近完成这个计划,但我无法超越最后一个障碍。我想要一些非常简单的代码在按下命令按钮时执行。按下提交订单按钮时​​,应运行以下代码以检查表单是否已完成。

function validateForm()
{
    if ($("tax").value = 0)
    {
        alert ("You have not selected anything to order");  
    }

    if ($("shipCost").value = 0)
    {
        alert("You must select a method of shipping");
    }
}

按下重置按钮时,应运行以下代码。

function initForm() 
{
    $('date').value = todayTxt();
    $('qty1').focus();
}

不幸的是,按钮没有执行我试图通过以下一组函数执行的代码。

window.onload = function ()
{
    initForm();
    todayTxt();
    productCosts();
    shipExpense();
    $('shipping').onchange = calcShipping;
    calcShipping();
    $("Submit Order").onclick = validateForm();
    $("reset").onclick = initForm();
}

我创建了一个小提琴,以便您可以看到完整的程序:http://jsfiddle.net/KhfQ2/非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

你做错了。

  1. 使用 if 语句,您可以使用==而不是=。

    = in A = B means assign value of B to A
    
    == in A == B means A equals B
    
  2. 阅读.ready并使用它而不是window.onLoad,在绑定方面,这是一个非常糟糕的选择,即。

    $( document ).ready(function() {
         //taken from api.jquery.com/ready/
    });
    
  3. 如果您正在使用jQuery,请在引用ID对象时使用#,即

    $('#tax').val();
    
  4. 在为任何对象提供唯一名称或类别时,不得使用空格!

  5. 注意字母。你有“.clisk()”而不是“click()”。

  6. 查看并向我们提供固定代码。

答案 1 :(得分:1)

很简单。 $("Submit Order")不起作用,因为该按钮没有此ID。您可以将其更改为$("btn-submit-order")之类的内容。同样重置。

此外,当您测试$("tax").value = 0时,我认为您错误输入=而不是==

答案 2 :(得分:0)

其他问题......

我认为你的意思是

if($("#tax")。val()== 0)

注意:

  • 使用正确的选择器#
  • 使用jQuery val()函数。 jQuery对象没有value属性。
  • 使用宽松的检查比较0,但我个人会将该行写为
    • if(+ $("#tax")。val()=== 0)