我得到了别人制作的这张表格。这是一种非常简单的形式。问题是,客户正在接收空的提交。该表单已经有一些验证,因此我想知道如何提交。
function check_message() {
var check = true;
if (document.getElementById('email').value == '') {
check = false;
document.getElementById('email').style.border = '3px solid red';
} else {
document.getElementById('email').style.border = '1px solid #cccccc';
}
if (document.getElementById('telephone').value == '') {
check = false;
document.getElementById('telephone').style.border = '3px solid red';
} else {
document.getElementById('telephone').style.border = '1px solid #cccccc';
}
if (check) {
document.getElementById('thaForm').submit();
}
}
<form id="thatForm" name="" action="soumission_process.php" method="post" class="wpcf7-form" novalidate>
<input type="text" id="email" name="email" value="" size="40" value="">
<input type="text" id="telephone" name="telephone" value="" size="40" value="">
<input type="button" value="send" onClick="check_message();">
</form>
在soumission_process.php中,它只是:
$email= $_POST['email'];
$telephone = $_POST['telephone'];
然后将材料寄出...
有人如何提交跳过验证的表单?我虽然表单可能只是用空白而不是提交的空格填充,但是有一个必需的SELECT且它也是空的。如果我自己尝试,则无法不填写所有字段并在该选择中选择一个选项而提交。
请帮我保存保存为html站点的奇怪Wordpress:D
答案 0 :(得分:1)
在php脚本中检查表单数据,例如:
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && (isset($_POST['telephone']) && $_POST['telephone'] != '')){
$email= $_POST['email'];
$telephone = $_POST['telephone'];
// mail datas
}else{
// do nothing or display error
}
答案 1 :(得分:1)
解决方案1 在每个字段中添加必填项-这不会阻止漫游器收获并向操作提交发布请求
解决方案2
删除操作,如果一切正常,请添加
在两种情况下都要在服务器上检查
window.addEventListener("load", function() {
document.getElementById("thatForm").addEventListener("submit", function(e) {
var allOk = 0;
var emailField = document.getElementById('email');
var ok = emailField.value.trim() !== '' ? 1 : 0; allOk += ok;
emailField.classList.toggle("error", !ok)
var telephoneField = document.getElementById('telephone')
ok = telephoneField.value.trim() !== '' ? 1 : 0; allOk += ok;
telephoneField.classList.toggle("error", !ok)
if (allOk !== 2) {
e.preventDefault();
}
this.action = "soumission_process.php"
});
});
.error {
border: 3px solid red
}
<form id="thatForm" method="post" class="wpcf7-form" novalidate>
<input type="text" id="email" name="email" value="" size="40" value="">
<input type="text" id="telephone" name="telephone" value="" size="40" value="">
<input type="submit" value="send">
</form>