Jquery- Form在第一次获取我的输入值

时间:2017-06-21 23:15:01

标签: javascript jquery html forms input

我有一个有两个输入的表单,非常简单。

<form class="cform">
    <input type="text" name="cname" class="cname" id="cname" autofocus placeholder="Firstname Lastname">
    <div class="floatl regards"><input type="submit" value="Submit" class="submit" id="submit"></div>
</form>

我的JQuery是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
    $("#submit").click(function()
    {
        var CName = $("#cname").val(); 
        console.log(CName);
    });
</script>

我的问题是,当我在文本框中添加单词并单击提交按钮时,它不会在控制台中显示任何内容,除非我再次输入相同的单词并提交它!它适用于第二次点击。 我注意到它没有工作,它在URL中添加了这些单词,我应该第二次写出完全相同的单词,如果我想让它工作,请点击提交! 我该如何解决这个错误?哪部分代码错了!?

2 个答案:

答案 0 :(得分:1)

单击您的按钮将使用GET方法将表单提交到当前页面,以便您在单击后看到链接上的单词,您需要做的就是将按钮类型更改为{{1} }而不是button,这将阻止页面刷新:

submit

或者您可以在js代码中添加<input type="text" name="cname" class="cname" id="cname" autofocus placeholder="Firstname Lastname"> e.preventDefault()

return false;

希望这有帮助。

&#13;
&#13;
$("#submit").click(function(e){
    e.preventDefault(); //That will prevent the click from submitting the form
     var CName = $("#cname").val(); 

     console.log(CName);

     return false; //Also prevent the click from submitting the form
});
&#13;
$("#submit").click(function(){
    var CName = $("#cname").val();
    console.log(CName);

    return false;
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

单击“提交”按钮时,页面将重新加载,您的jQuery定义将无法识别。为了防止使用html按钮而不是输入提交按钮。

或者您可以在函数调用中使用e.preventDefault();来阻止提交表单。为了使用它,您必须使用函数(e){}

将事件作为参数传递