2014-08-28 66 views
0

玉家伙的错误消息,我已经做了一些研究和不能找到一些作品来解决我的问题,即使我敢肯定它的一个简单的修补程序:)当添加特定的下拉选项中选择

我有一个简单的联系表单,其中第一行是一个下拉选择。此下拉列表确定表单提交给哪位员工。我只想让我的默认选项“请选择类别”返回一条错误消息,以便提交者必须返回并选择其中一个选项以获取发送的表单。当没有选择任何东西时,它会创建大量垃圾邮件到默认电子邮件。

这里是下拉的码位:

   <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

'if($ _ POST ['sendTo'] ==“pleaseSelectcategory1 “){//}' – 2014-08-28 13:44:45

+0

使用Javascript来处理这将避免无用的服务器交换。只是谷歌“表单验证与JavaScript”。 (这并不意味着稍后再仔细检查服务器端是不是很好btw) – Sugar 2014-08-28 13:53:15

+0

@ Fred-ii-这似乎阻止电子邮件,但我将如何提醒人们选择该类别让它正确发送? – 2014-08-28 14:10:01

回答

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 
} 
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 
} 
+0

我添加了所有这些位,并且表单仍然发送并且“请选择类别”字段被选中并落在我的邮件中。我缺少一些东西:| – 2014-08-28 14:40:07

+0

检查你的Javascript函数是否被调用,方法是把'alert(document.getElementById(“sendTo”).value);'正好在'validateForm()'中的if语句的上面,看看是否正在调用函数,2.来自选择框的值正在被正确地检索。 – eluong 2014-08-28 14:46:30

相关问题