Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我写的JQuery代码停止工作了,是否有任何错误I';你忽略了什么?_Javascript_Jquery - Fatal编程技术网

Javascript 我写的JQuery代码停止工作了,是否有任何错误I';你忽略了什么?

Javascript 我写的JQuery代码停止工作了,是否有任何错误I';你忽略了什么?,javascript,jquery,Javascript,Jquery,对于下面的代码,我希望具有.btn primary属性的submit按钮的内容仅在输入字段都不为null时才更改为“Success!” 在预设状态下,无论字段是否包含内容,按下按钮后,代码直接进入成功状态 我想这可能是因为字段可能已经有了一个不为null的值,所以我运行了以下代码:alert($('#Comment').attr(“value”)并在警报消息中返回未定义的。Undefined与js/jquery中的null相同,不是吗 我很早就得到了这段代码,它的输入方式几乎相同,只是做了一些修

对于下面的代码,我希望具有.btn primary属性的submit按钮的内容仅在输入字段都不为null时才更改为“Success!”

在预设状态下,无论字段是否包含内容,按下按钮后,代码直接进入成功状态

我想这可能是因为字段可能已经有了一个不为null的值,所以我运行了以下代码:
alert($('#Comment').attr(“value”)并在警报消息中返回
未定义的
。Undefined与js/jquery中的null相同,不是吗

我很早就得到了这段代码,它的输入方式几乎相同,只是做了一些修改。我取消了更改,但仍然不起作用

任何帮助都将不胜感激。(如果有人知道这一点)是否存在相同代码在不同时间无法工作的情况,所有情况都是相同的

<script src="~/Scripts/jquery-2.1.1.min.js"></script>

    $(document).ready(function () {
    var Fname = $('#FirstName').attr("value");
    var Lname = $('#LastName').attr("value");
    var Email = $('#Email').attr("value");
    var Comment = $('#Comment').attr("value");
    $(".btn-primary").click(function () //This block should say, if all fields are not null changed the content of button to "Success!" and change the content of <h1> to "THANKS, I'VE GOT YOUR MESSAGE."
    {

        if (Fname != null && Lname != null && Email != null && Comment != null)
        {
            $("button").html("Success!");           
            $("h1").html("THANKS, I'VE GOT YOUR MESSAGE");
        }

    })
});
</script>

$(文档).ready(函数(){
var Fname=$('#FirstName').attr(“value”);
var Lname=$('#LastName').attr(“value”);
var Email=$('#Email').attr(“值”);
var Comment=$('#Comment').attr(“value”);
$(“.btn primary”)。单击(函数()//此块应显示,如果所有字段均不为null,则将按钮的内容更改为“成功!”,并将的内容更改为“谢谢,我收到了您的消息。”
{
如果(Fname!=null&&Lname!=null&&Email!=null&&Comment!=null)
{
$(“按钮”).html(“成功!”;
$(“h1”).html(“谢谢,我收到你的消息”);
}
})
});
这是同一页上的html

<form class="form-horizontal" role="form" action="/Home/Contact" method="post">    

<div class="form-group">

    <div class="col-lg-10">

    <input class="form-control" data-val="true" data-val-required="Please enter your first name" id="FirstName" type="text"  placeholder="First Name" name="FirstName"/>

    </div>
</div>

<div class="form-group">
    <div class="col-lg-10">  
    <input class="form-control" required data-val="true" data-val-required="Please enter your last name" id="LastName"  type="text" placeholder="Last Name" name="LastName"/>
    <span class="field-validation-valid text-danger" data-valmsg-for="LastName" data-valmsg-replace="true" data-></span>
    </div>
</div>

<div class="form-group">
    <div class="col-md-10">

    <input class="form-control" required data-val="true" data-val-required="Please enter your email" id="Email" name="Email" type="email" placeholder="Email@Address.com"/>
    <span class="field-validation-valid text-danger" data-valmsg-for="Email" data-valmsg-replace="true"></span>
    </div>
</div>

<div class="form-group">
    <div class="col-lg-10">

    <textarea class="form-control" required data-val="true" data-val-required="Please enter a brief detailed message" id="Comment" name="Comment" placeholder="A Short but detailed message"></textarea>
    <span class="field-validation-valid text-danger" data-valmsg-for="Comment" data-valmsg-replace="true"></span>
    </div>
</div>
<div class="form-group">
    <div class="col-lg-10">
    <button type="submit" class="btn btn-primary btn-sm active" value="submit">Submit</button>
    <input type="reset" class="btn btn-default btn-sm active" value="reset">
    </div>
</div>
</form>

提交

加载文档时,您正在存储Fname、Lname…..的值。。。。。等等。问题是在条件测试中使用这些值,但这些值不会改变,因为它们只是第一次加载页面时的原始值。一个快速修复方法是将这些内容放入单击中,以便每次单击时都可以重新评估它们

此外,在检查时,您只检查null,但无论如何,它们都不会等于null。最好是完全验证它们,或者只测试泛型truthy,它排除了伪值,例如null、未定义、空字符串

$(文档).ready(函数(){
$(“.btn主”)。单击(函数(e)
{
var Fname=$('#FirstName').val();
var Lname=$('#LastName').val();
var Email=$('#Email').val();
var Comment=$('#Comment').val();
//添加只是为了停止表单提交
e、 预防默认值();
//非常快速的测试,但对于每个领域的真正验证,这可能会更加详细
如果(Fname&&Lname&&Email&&Comment){
$(“按钮”).html(“成功!”;
$(“h1”).html(“谢谢,我收到你的消息”);
}
})
});

提交

如果以前它有效,而现在不行,你必须问问自己:到底发生了什么变化?未定义和null不是一回事。你能为这个问题提供一个更有意义的主题吗?注意:你可以用val()代替attr(“value”)。谢谢大家的意见@Kolban,我确实试图尽可能详细地写一个主题,但有时在从编码专家那里寻求帮助时,抓住根本原因的稻草时,很难表达这一点。再次感谢大家!谢谢你,我感谢你的详细答复。它工作得很好。再次感谢!