好的,我做了一些研究,找不到能解决问题的东西,即使我确定它只是一个简单的修复:)
我有一个简单的联系表单,其中第一行是下拉选项。此下拉列表确定表单提交给哪个员工。我只想制作我的默认选项"请选择类别"返回一条错误消息,以便提交者必须返回并选择其中一个选项以获取发送的表单。如果未选择任何内容,则会在默认电子邮件中创建大量垃圾邮件。
以下是代码的下拉位:
<tr>
<td><label for="sendTo">Category (required):</label></td>
<td>
<select id="sendTo" name="sendTo">
<option id="pleaseSelectcategory1" value="pleaseSelectcategory1">Please Select Category</option>
<option id="aftermarketCustomerservice" value="aftermarketCustomerservice">Aftermarket Customer Service</option>
<option id="technicalAssistance" value="technicalAssistance">Technical Assistance</option>
<option id="aftermarketSales" value="aftermarketSales">Aftermarket Sales</option>
<option id="performanceProducts" value="performanceProducts">Performance Products & Sales</option>
<option id="oemSales" value="oemSales">OEM Sales</option>
<option id="exportSales" value="exportSales">Export Sales</option>
<option id="generalFeedback" value="generalFeedback">General Feedback</option>
</select>
</td>
</tr>
我只需要放入我的html中的内容,如果有的话,在我的php文件中发生此错误消息。在此先感谢!!
答案 0 :(得分:1)
您应该在发布数据之前使用Javascript函数验证表单。这对于UX来说更好,并且会阻止表单甚至到达PHP post函数。
在您的表单中,onsubmit
字段调用Javascript函数:
<form name="form" id="form" action="" onsubmit="return validateForm()" method="POST">
以及用于检查选择框值的Javascript函数:
// Basic form validation for select box.
function validateForm() {
if (document.getElementById("sendTo").value != null && docmument.getElementById("sendTo").value != "pleaseSelectcategory1") {
return true;
}
//Handle error message here.
alert("Please select a category");
return false;
}
您可以在表格在PHP中发布后验证您的表单:
if ($_POST['sendTo'] === 'pleaseSelectcategory1') {
// Redirect back to form or do whatever
}
答案 1 :(得分:0)
在纯JavaScript中,您可以使用以下函数:
function checkCategory(){
if(document.getElementById('sendTo').value === 'pleaseSelectcategory1') {
alert("You need to select category");
//This is to ensure that the form doesn't get submitted.
return false;
}
}
使用按钮上的onclick="javascript:checkCategory();"
或表单本身onsubmit="javascript:checkCategory();"
在PHP中,您可以使用:
if($_POST['sendTo'] == "pleaseSelectcategory1")
{
//However you want to handle the the fact the user selected the option
}