jQuery如何清空输入字段


199

我在移动应用程序中,我使用输入字段来命令用户提交电话号码。

当我返回并返回到该页面时,该输入字段会显示在输入字段中显示的最新数字输入。

每次页面加载时有什么方法可以清除该字段?

$('#shares').keyup(function(){
    payment = 0;
    calcTotal();
    gtotal = ($('#shares').val() * 1) + payment;
    gtotal = gtotal.toFixed(2);
    $("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
});

Answers:


417

您可以使用清除输入字段 $('#shares').val('');


2
如果我们有这样的数字输入,这行得通<input type="number" min="0' max="10" value="5"></input>吗?是否符合规范?我想说的不同,您是否可以将数字输入设置为空白?
凯文·惠勒

3
怎么.val([])
Fr0zenFyr 2015年

3
在相关说明上,.val([])也可以取消选择选择列表中的任何选定选项...不用那么多.val('')。最好的事情是跨浏览器支持。PS:这是仅其他有效的跨浏览器解决方案的替代方案- $("select option").prop("selected", false);但适用于所有输入。感谢Jon进行的测试
Fr0zenFyr 2015年


10

提交表单时,请在表单上使用reset方法。reset()方法重置表单中所有元素的值。

$('#form-id')[0].reset();

OR 

document.getElementById("form-id").reset();

https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLFormElement/reset

$("#submit-button").on("click", function(){
       //code here
       $('#form-id')[0].reset();
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<form id="form-id">
  First name:<br>
  <input type="text" name="firstname">
  <br>
  Last name:<br>
  <input type="text" name="lastname">
  <br><br>
  <input id="submit-button" type="submit" value="Submit">
</form> 
</body>
</html>


可以帮助某人,但是在这种情况下,您的答案是无用的。
马可·孔卡斯

8

设置val('')将清空输入字段。因此,您将使用以下代码:

页面加载时清除输入字段:

$(function(){
    $('#shares').val('');
});

4

由于您使用的是jQuery,如何使用Trigger- Reset

$(document).ready(function(){
  $('#shares').trigger(':reset');
});

3

要重置文本,数字,搜索,文本区域输入:

$('#shares').val('');

要重置,请选择:

$('#select-box').prop('selectedIndex',0);

重置无线电输入:

$('#radio-input').attr('checked',false);

重置文件输入:

$("#file-input").val(null);

0

如果您按下“后退”按钮,则通常会卡住,您可以做的是,提交表单后清除元素,然后再进入下一页,但在处理完元素之后再做。

    $('#shares').keyup(function(){
                payment = 0;
                calcTotal();
                gtotal = ($('#shares').val() * 1) + payment;
                gtotal = gtotal.toFixed(2);
                $('#shares').val('');
                $("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
            });
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.