Forms 我正在尝试使用jqueryclick方法设置表单

Forms 我正在尝试使用jqueryclick方法设置表单,forms,Forms,我正在尝试使用jqueryclick方法设置表单。对于html,我不想使用onClick,而是从id调用clickMe来显示名称。它似乎不起作用。这可能吗?如果是,我错过了什么 var getName = function () { if (document.getElementById("FirstName").value == "" || document.getElementById("LastName").value == "") { return ("Please enter your

我正在尝试使用jqueryclick方法设置表单。对于html,我不想使用onClick,而是从id调用clickMe来显示名称。它似乎不起作用。这可能吗?如果是,我错过了什么

var getName = function ()
{
if (document.getElementById("FirstName").value == "" || document.getElementById("LastName").value == "")
{
return ("Please enter your first name and last name.");
}

else {var fullName = document.getElementById("FirstName").value + ' ' + document.getElementById("LastName").value;
return fullName;
}
}

var displayName = function () 
{

    $(document).ready(function(){   
    $("#clickMe").click(function(){
        alert(displayName());
    }); 
}); //end ready

}
HTML


名字:

姓氏:


有关现有代码错误的正确分析,请参阅acdcjunior的答案。事实上,我认为您的
displayName
函数在这里是多余的,您可以通过如下更新代码来大大简化工作:

$(document).ready(function() {

    var getName = function () {
        if (document.getElementById("FirstName").value == "" || document.getElementById("LastName").value == "") {
            return ("Please enter your first name and last name.");
        } else {
            var fullName = document.getElementById("FirstName").value + ' ' + document.getElementById("LastName").value;
            return fullName;
        }
    }

    $("#clickMe").click(function(){
        alert(getName());
    }); 
});
你看,这个代码:

$(document).ready(function(){   
   $("#clickMe").click(function(){
      alert(displayName());
   }); 
});
位于displayName的

var displayName = function () 
{
...
}
并且从不调用
displayName
。因此,
click()
事件从未设置

要么将
$(document).ready()代码放在外面,要么调用
displayName
,如下所示:

var getName = function ()
{
    if (document.getElementById("FirstName").value == "" || document.getElementById("LastName").value == "")
    {
        return ("Please enter your first name and last name.");
    }
    else {
        var fullName = document.getElementById("FirstName").value + ' ' + document.getElementById("LastName").value;
        return fullName;
    }
}

var displayName = function () 
{
    $(document).ready(function(){   
        $("#clickMe").click(function(){
            alert(displayName());
        }); 
    }); //end ready

}

$(function() { displayName(); }); // <-- calling displayName here!
var getName=function()
{
if(document.getElementById(“FirstName”).value==“document.getElementById(“LastName”).value==”)
{
返回(“请输入您的名字和姓氏”);
}
否则{
var fullName=document.getElementById(“FirstName”).value+''+document.getElementById(“LastName”).value;
返回全名;
}
}
var displayName=函数()
{
$(文档).ready(函数(){
$(“#单击我”)。单击(函数(){
警报(displayName());
}); 
})//结束准备就绪
}

$(函数(){displayName();});//我之前尝试过getName,但似乎也不起作用。它可能超出范围,因为它是在jquery ready回调函数之外声明的。试试上面我编辑过的答案中的代码。这似乎也不起作用。根据你的代码,我好像忘记了ready函数。我可以在html中使用onClick,但不使用id。是的……由于某些原因,它在我的文件中不起作用,但在JFIDLE上起作用。我的档案里一定有冲突。非常感谢。顺便说一句,acdsjunior对您当前代码问题的分析是完全正确的,而我的分析则不是。我认为我对代码的简化应该足够了。
var getName = function ()
{
    if (document.getElementById("FirstName").value == "" || document.getElementById("LastName").value == "")
    {
        return ("Please enter your first name and last name.");
    }
    else {
        var fullName = document.getElementById("FirstName").value + ' ' + document.getElementById("LastName").value;
        return fullName;
    }
}

var displayName = function () 
{
    $(document).ready(function(){   
        $("#clickMe").click(function(){
            alert(displayName());
        }); 
    }); //end ready

}

$(function() { displayName(); }); // <-- calling displayName here!