如果需要空字段属性
if empty field attribute required
我有一个登录表单,我想使字段必需,所以没有空字段被发送。
问题是密码字段,如果我使它是必需的,javascript函数将清除它,它不会被发送(所需的msg将出现在字段中)。
JS函数创建另一个隐藏字段,并将散列密码放在那里,然后必须清空密码字段(password。Value = ";).
我正在考虑使用jquery attr()如果是空的。
function formhash(form, password) {
if (password.value = "") {
password.attr("required", true); // somehow this is not working...
}
// Create a new element input, this will be our hashed password field.
var p = document.createElement("input");
// Add the new element to our form.
form.appendChild(p);
p.name = "password";
p.type = "hidden";
p.value = hex_sha512(password.value);
// Make sure the plaintext password doesn't get sent.
password.value = "";
// Finally submit the form.
form.submit();
}
有什么问题吗?我还需要回去吗?
注册和修改密码等其他功能呢?我如何简化这么多if ?
你需要使用表单的onsubmit事件处理程序而不是onclick处理程序,因为required
标志不能阻止click事件被触发。
那么你应该在脚本中附加你的事件处理程序,而不是内联和…
- 阻止表单提交
- 然后对密码值进行散列。 然后重新提交表单
// Get the form element
var form = document.getElementById('login');
// Attach the submit event handler to the form element
form.onsubmit = function (e) {
// Stop initial submission event
e.preventDefault();
// Get the password element
var password = document.getElementById('password');
// Update the password element's value with a hashed value
password.value = hex_sha512(password.value);
// Resubmit the form
this.submit();
}
相关文章:
- 选中单选框时将属性添加到输入字段
- 如何选择多个输入字段并删除所需的属性
- 如何使用属性禁用日期字段
- 使用jQuery更改输入字段的自定义属性
- 在jquery中,从同一对象的属性设置输入字段和标签的正确方法是什么
- 如何使用inlineformset_factory添加自定义字段属性
- 更改 html 输入字段中的占位符属性
- KO 绑定复选框:从代码更改“选中”属性,不更改可观察字段
- AngularJS:必需属性适用于某些字段,但不适用于其他字段
- 为什么在使用 formValidation.js 时需要指定字段的行属性
- 用于获取字段属性的JQuery通用工具
- JQuery:如何检查复选框是否被选中并向字段添加属性
- Jquery将data-rel属性添加到所有输入字段,并移除name属性
- 如何验证具有必需属性或不为null的字段
- 为什么我总是得到属性或字段尚未初始化
- 动态删除没有唯一属性的输入字段
- 使用不带eval的输入字段属性的Javascript regex验证
- 如何在我的Algolia搜索页面结果的摘录中显示我的Wordpress自定义字段属性
- 在Angular.js中修改JSON请求和响应中的字段/属性名
- 如果需要空字段属性