是否有一种方法可以使表单仅识别一个必需字段
Is there a way for a form to identify only one required field
例如:
<form>
<input type="email" name="email" id="useremail" placeholder="Email Address" required> <br>
<input type="tel" name="phone" id="userphone" placeholder="Phone Number" maxlength="10" required> <br>
<input type="submit" id="sidebarformsubmit" value="Submit">
</form>
是否有可能以某种方式/在某个地方能够识别用户在电子邮件或电话号码字段中输入的内容?这样在提交时就不会显示"this is required"
注意:至少可以有一个表单输入是强制的,两个都可以,要么是一个,要么是另一个,但不能没有。在上面的示例中,用户需要至少有一种通信形式,无论是电话号码还是电子邮件。他们可以两者兼得,但不能一个都没有。
如果是,你会怎么做?
您可以轻松地从输入中捕获更改事件并相应地设置所需的属性。这样的:
var email = document.getElementById('useremail'),
phone = document.getElementById('userphone');
function onchange(){
email[phone.value?'removeAttribute':'setAttribute']('required','required');
phone[email.value?'removeAttribute':'setAttribute']('required','required');
}
email.addEventListener('change',onchange);
phone.addEventListener('change',onchange);
jsfiddle
是否有可能以某种方式/在某个地方能够识别用户在电子邮件或电话号码字段中输入的内容?这样在提交时就不会显示"this is required"
1)没有。如果你在一个字段上使用HTML5 required
,那么字段是必需的。没有办法指定相互依赖关系。
2)是的。您可以使用客户端javascript验证,通常与表单submit
事件挂钩,以执行任意复杂的验证。如果您没有通过验证,则通过从事件处理程序返回false
来阻止提交。
3)是的。当您收到提交的表单时,您可以在服务器上进行尽可能复杂的验证,如果出现错误,则直接返回到表单。
3b)你必须在服务器上做验证,即使你有伟大的客户端javascript验证,否则我会从你的网站买东西一分钱。您必须而不是信任客户端
相关文章:
- 使用jQuery+Javascript识别一个空文本节点
- PHP函数识别3个数字中最低的一个并更改其类
- ng使用一个不识别临时变量形式ng repeat的函数绑定html
- 我需要创建一个PayPal“立即付款”按钮,该按钮将根据选定的复选框识别总价
- 无法识别一个 js 文件中的变量
- 有没有一种好方法来识别一个单词,即使它在javascript中拼写错误
- 识别数组的最后一个元素 - javascript
- 如何识别加载的一个js文件
- 我们如何识别“上一个活动类是左或右”,当显示子菜单调用单击链接时
- .fancybox 未被识别为一个功能
- 我想在我的网站上识别一个点击谷歌广告,并想执行一些javascript点击功能
- 如何使用vanilla Javascript识别无序和/或嵌套列表序列中的上一个/下一个链接
- 在onError事件中捕获一个javascript异常(webkit语音识别)
- 识别一个“;类名“;在Javascript对象中
- 一种算法,用于判断从列表中识别一个单词需要多少个不同的先导字符
- 我如何识别一个JavaScript文件被加载
- 使用jquery从选择中识别一个选项
- 是否有一种方法可以使表单仅识别一个必需字段
- 识别一个可观察对象的更新者的最好方法是什么?
- 识别一个数字/字符串是否包含数字6