我希望在提交之前清除两个输入字段中的默认值。 但这不起作用......
<form action="page.html" id="myForm">
<input type="text" value="Firstname" name="firstname" id="firstname">
<input type="text" value="Lastname" name="lastname" id="lastname">
<input type="submit">
</form>
<script>
$(document).ready(function() {
$("myForm").submit(function() {
if($('#firstname').val() == "Firstname")
$('#firstname').val() = "";
if($('#lastname').val() == "Lastname")
$('#lastname').val() = "";
return true;
});
});
</script>
我不想在焦点上清除它们。 我不能使用html5。
答案 0 :(得分:2)
值是一个函数,您可以像这样使用它。 请尝试改为:
$('#firstname').val('');
....
答案 1 :(得分:1)
您的代码不正确。您必须在ID之前使用#
符号。所以这就是它
$(function() {
$("#myForm").submit(function(e) {
e.preventDefault();
if($('#firstname').val() == "Firstname")
$('#firstname').val("");
if($('#lastname').val() == "Lastname")
$('#lastname').val("");
});
});
第e.preventDefault();
行会停止事件传播,让您看到效果。你可以删除它。
答案 2 :(得分:0)
使用空字符串val
.val("");
函数
$(document).ready(function() {
$("myForm").submit(function() {
if($('#firstname').val() == "Firstname")
$('#firstname').val(""); // <====
if($('#lastname').val() == "Lastname")
$('#lastname').val(""); // <====
return true;
});
});
带有空参数的 val()
只返回元素的值
所以你的代码等于
if($('#lastname').val() == "Lastname")
'Lastname' = ""; // Won't change the element value.