繁体   English   中英

如果用户不输入信息,如何防止默认文本以Web表单的形式提交?

[英]What can I do to keep default text from being submitted in a web form if a user does not enter information?

我有一个要求输入名字/姓氏,电子邮件和电话的表格。 我不想使用“占位符”,因为IE缺乏这种能力。 我已经尝试了很多方法,但是对脚本编码的了解还不够,因此我无法在有人提交信息时如何将默认文本从字段中剥离出来。

我需要找到一种方法,使下面的代码仅向我发送键入字段的数据,而不向我发送“电话”等格式的txt

<form action="{SUBMIT_FORM}" method="post">

<input type="text" class="input-field"  onblur="if (this.value == '') {this.value = '*First Name : (Required Field)';}" onfocus="if (this.value == '*First Name : (Required Field)') {this.value = '';}" name="{lead_first_name}" id="{lead_first_name}" value="*First Name : (Required Field)"/>
<input type="text" class="input-field"  onblur="if (this.value == '') {this.value = 'Last Name :';}" onfocus="if (this.value == 'Last Name :') {this.value = '';}" name="{lead_last_name}" id="{lead_last_name}" value="Last Name :"/>
<input type="text" class="input-field"  onblur="if (this.value == '') {this.value = '*Email : (Required Field)';}" onfocus="if (this.value == '*Email : (Required Field)') {this.value = '';}" name="{lead_email}" id="{lead_email}" value="*Email : (Required Field)"/>
<input type="text" class="input-field" onblur="if (this.value == '') {this.value = 'Phone :';}" onfocus="if (this.value == 'Phone :') {this.value = '';}" name="{lead_home_phone}" id="{lead_home_phone}" value="Phone :"/>
<input type="submit" class="sbt-btn" value="Submit"  onclick="{SUBMIT_SCRIPT}" />

{VALIDATE_SCRIPT}
</form>
<small>*We promise to never share, rent or sale your personal information.</small>

在表单验证器中,如果表单包含不需要提交的占位符数据,则可以使用preventDefault()阻止表单提交。

这是我在简单的文本输入上执行的操作。 HTML:

<form id="myemailform">
  <input class="text email" type="text" name="email" value="Enter e-mail address"/>
  <input type="submit" value="Submit">
</form

jQuery:

<script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('input.text').each(function() {
        $.data(this, 'default', this.value);
    }).focus(function() {
        if (!$.data(this, 'edited')) {
            this.value = "";
        }
    }).change(function() {
        $.data(this, 'edited', this.value != "");
    }).blur(function() {
        if (!$.data(this, 'edited')) {
            this.value = $.data(this, 'default');
        }
    });

    $('#myemailform').submit(function() {
        if($(".email").val() == "Enter e-mail address") {$(".email").val("");}
        return true;
    });
});
</script>

javascript会查找input.text元素,并删除焦点,模糊或更改上的占位符文本。 如果在提交表单时保留了占位符文本,则它将在提交前先删除占位符文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM