2012-04-05 23 views
0

此時表單發送正確的信息但缺少狀態。我正在使用Ajax成功功能。唯一的問題是價值不是固定的,而是取決於選擇哪種狀態。我怎麼去解決它?獲取序列化選擇值的Ajax/PHP表單

JS:

$('#sendFormBtn').live('click', function(){ 
     formdata = $('#submitForm').serialize(); 
     $.ajax({ 
       type: 'POST', 
       url: 'includes/contactForm.php', 
       data: formdata, 
       success: function(){ 
        $('input[name=name]').val('Name'); 
        $('input[name=email]').val('Email'); 
        $('input[name=address]').val('Address'); 
        $('input[name=state]').val(''); 
        $('input[name=city]').val('City'); 
        $('input[name=zip]').val('Zip Code'); 
        $('textarea[name=message]').val('Leave a message'); 
       } 
     }); 
}); 

HTML:

<form id="submitForm"> 
    <table cellpadding="1" cellspacing="1"> 
     <tr> 
      <td width="223"> 
       <input type="text" size="35" name="fullname" value="Full Name" onFocus="if(this.value == 'Full Name') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Full Name';}" /> 
       <br /> 
      </td> 
     </tr> 

     <tr> 
      <td> 
       <input type="text" size="35" name="youremail" value="Your Email" onFocus="if(this.value == 'Your Email') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Your Email';}" /> 
       <br /> 
      </td> 
     </tr> 

     <tr> 
      <td> 
       <input type="text" size="35" name="address" value="Address" onFocus="if(this.value == 'Address') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Address';}" /> 
       <br /> 
      </td> 
     </tr> 

     <tr> 
      <td> 
       <input type="text" size="35" name="city" value="City" onFocus="if(this.value == 'City') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'City';}" /> 
       <br /> 
      </td> 
     </tr> 

     <tr> 
      <td> 
       <p style="float:left; color:#FFF; padding-right:5px;">State/Zip</p> 
       <select name="states"> 
        <option value="alabama">AL</option> 
        <option value="alaska">AK</option> 
        <option value="arizona">AZ</option> 
        <option value="georgia">GA</option> 
        <option value="kentucky">KY</option> 
        <option value="louisiana">LA</option> 
        <option value="nebraska">NE</option> 
        <option value="nevada">NV</option> 
        <option value="new hampshire">NH</option> 
        <option value="new jersey">NJ</option> 
        <option value="new york">NY</option> 
        <option value="north carolina">NC</option> 
        <option value="washington">WA</option> 
        <option value="west verginia">WV</option> 
       </select> 

       <input type="text" size="8" maxlength="7" name="zip" value="Zip Code" onFocus="if(this.value == 'Zip Code') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Zip Code';}" /> 
      </td> 
     </tr> 

     <tr> 
      <td> 
       <textarea cols="28" rows="6" onblur="if(this.value=='') this.value='Leave a message'" onfocus="if(this.value =='Leave a message') this.value=''">Leave a message</textarea> 
      </td> 
     </tr> 

     <tr> 
      <td height="16"> 
       <input type="submit" name="submit_order" id="sendFormBtn" /> 
      </td> 
     </tr> 
    </table> 
</form> 
+0

你想找回選擇名爲「狀態「價值在'includes/contactForm.php'? – jbrtrnd 2012-04-05 15:07:14

+0

什麼取決於選擇哪個狀態? – dm03514 2012-04-05 15:09:08

+0

@ JBRTRND-DEV是的,那是對的。 – CodingWonders90 2012-04-05 15:11:14

回答

0

這聽起來像你用錯了鑰匙訪問您的<select name="states">的價值。在你的PHP中,你應該看看$_POST['states'],而不是$_POST['state']

注:<select name="states">不是<input>,所以如果你想要做的事,以它使用jQuery,你可以在它與$('select[name=states]')得到的,不$('input[name=state]')