为什么输入.val()一旦提交就消失了 - Jquery

时间:2013-06-07 15:45:54

标签: jquery

为什么HTML函数在执行函数后几乎直接消失在.name div中?

$('input[type="submit"]').click(function (e) {
    value = $("#txtName").val();
    $(".name").text(value);
});

3 个答案:

答案 0 :(得分:3)

假设页面上没有其他代码,您的代码不会取消将重新加载页面的回发。您可以在处理程序的第一行调用e.preventDefault();以阻止提交。

更好的选择是处理表单的submit() event,而不是监听提交按钮的任何点击。这将妥善处理来自所有来源(按键等)的表单提交:

$('#yourFormId').submit(function(){
    value = $('#txtName').val();
    $('.name').text(value);
    return false; // prevents submission
});

答案 1 :(得分:3)

正在发布回复,取消默认操作:

$('input[type="submit"]').click(function (e) {
    e.preventDefault();
    value = $("#txtName").val();
    $(".name").text(value);
});

答案 2 :(得分:0)

发生这种情况是因为您有一个提交操作,可以提供表单集合并重置您的字段。 要解决此问题,请按以下方式更改代码:

$('input[type="submit"]').click(function (e) {
e.preventDefault();
value = $("#txtName").val();
$(".name").text(value);

// if you would like to submit then :
$('form').submit();

});