如果用户留空,则清除默认表单值

时间:2014-09-16 19:53:12

标签: html forms

我正在使用一个默认值用作标签占位符的表单,表单使用验证,如果用户留下可选的移动号码,则验证失败,因为它读取默认值。

我想知道在提交表单时是否可以清除默认值?

由于IE7兼容性要求,我无法使用HTML5 placeholder

2 个答案:

答案 0 :(得分:0)

使用value属性:

document.getElementById("myForm").addEventListener("submit", function(e){
  e.preventDefault();
  if(document.getElementsByTagName("input")[0].value === "555-5555"){
    document.getElementsByTagName("input")[0].value = "";
  }else{
    alert("Submitted!");
  }
});
<form id="myForm">
	<input type="text" value="555-5555"/>
</form>
它将使用初始值填充输入字段,如果在提交表单时用户不会改变该值,则将使用该初始值。因此,在表单提交时检查提交的内容是否等于JavaScript的默认值(理想情况下,您希望在服务器端执行此操作,但这是为了简单起见)。

答案 1 :(得分:0)

在HTML中,输入标签有一个属性,即defaultValue

因此,如果您使用javascript / jQuery应用验证,只需读取标记的defaultValue属性。

在Javascript中:

document.getElementById('emailId').defaultValue; // To get default value
document.getElementById('emailId').value; // To get changed value

在jQuery中:

$('#emailId').prop('defaultValue'); // To get default value
$('#emailId').val();                // To get changed value

然后,您可以将默认值与更改后的值进行比较。