如何解决删除提交的html元素
| 我是JavaScript新手。有人可以给我一个例子,如何在提交时删除一个空的表单元素吗?<form action=\'...\' method=\'post\' id=\'mySubmitForm\'>
<input type=\'text\' name=\'name\'>
<input type=\'text\' name=\'email\'>
<input type=\'text\' name=\'phoneNumber\'>
<input type=\'submit\' value=\'Save\'>
</form>
有没有一种简单的方法可以使用JavaScript检查表单是否为空,然后在提交之前将其删除?
解决方法
浏览器在您可以使用的表单提交之前引发一个“ 1”事件。
参考:http://www.quirksmode.org/js/forms.html
如果您不希望提交表单,则返回
false
,如果您希望它发生则返回true
。如果发生这种情况,请相应地删除/添加所需的额外输入。
, function validate(formName)
{
var form = document.forms[formName];
//validate,and do stuff
//remove items that you want with a call like this
form.removeChild(document.getElementById(id));
form.submit();
}
如果这是为了验证,那么您实际上应该在验证服务器端,而不是客户端。
您可以这样调用此函数:
<input type=BUTTON onClick=\"validate(\'myForm\')\"/>
, 您可以使用jQuery,这可能是最简单的方法。
$(document).ready(function() {
$(\'#.mySubmitForm\').submit(function(event) {
event.preventDefault();
$(\'input[type=text]\').each(function() {
var inputElement = $(this);
inputElement.val() == \"\" ? inputElement.remove() : null;
});
$(this).trigger(\'submit\');
});
});
我没有测试该代码,但是它应该在提交之前删除空表单值,然后将其删除。
, function onsubmit() {
[].forEach.call(document.querySelectorAll(\'#mySubmitForm input[type=text]\'),function(col) {
if(col.value==\'\') col.disabled = \'disabled\';
});
}
和<form>
标签中的onsubmit=\"onsubmit()\"
, 通过javaScript进行检查很容易,但是我建议您为form
元素分配一个id
属性
您可以通过以下方式进行检查:
var email = document.getElementById(\'email\').value;
您可以从form
中删除email
,如下所示
form.removeChild(document.getElementById(\'email\'));
form.submit();
您可以查看使用Javascript动态添加和删除HTML元素以了解更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。