命令按钮不响应JS函数

Command Buttons Not Responding to JS functions

本文关键字:函数 JS 不响应 按钮 命令      更新时间:2023-09-26

我非常接近完成这个程序,但我无法通过最后一个障碍。我想要一些非常简单的代码执行时,命令按钮按下。当按下Submit Order按钮时,应该运行以下代码来检查表单是否完成。

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/任何帮助是非常感谢。

你做错了。

  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()"而不是"点击()"。

查看并提供修复代码

很简单。$("Submit Order")不起作用,因为按钮没有这个id。你可以把它改成$("btn-submit-order")

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

其他问题…

我想你是指

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

注意:

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