2013-02-26 81 views
1

帖子值沒有傳遞到操作頁面。 Action頁面僅返回靜態回覆,即沒有$ _POST部分的謝謝消息。Jquery Post()沒有發帖

以下是代碼。

JQuery的

<script> 
    $(function() { 
     $('#myF').submit(function (e) { 

      e.preventDefault(); 
      $('#contactForm').html('<img src="images/ajax_small.gif" />'); 
      subMe(); 
     }); 
    }); 

    function subMe() { 
     $.post('?action=contactdetails', $('#myF').serialize(), 
      function(data) { 
       $('#contactForm').html(data.returnValue); 
      }, "json"); 
    } 
</script> 

HTML

<form id="myF"> 
    <div id="contactForm" valign="top" style="width:417;text-align:center" class="main"> 
<table width="417" border="0" cellspacing="0" cellpadding="0"> 
       <tr> 
       <td width="45"><span class="style3">Name</span></td> 
       <td width="373" height="30"><input name="name" id="name" style="padding-left:5px" type="text" title="Name is required." class="required form" /></td> 
       </tr> 
       <tr> 
       <td height="14" colspan="2"><img src="images/spicer.gif" width="1" height="1" /></td> 
       </tr> 
       <tr> 
       <td><span class="style3">Email</span></td> 
       <td width="373" height="30"><input name="email" title="Please enter a valid email id." id="emailid" style="padding-left:5px" type="text" class="validate-email required form" /></td> 
       </tr> 
<tr colspan="2"> 
<input type="submit" value="Submit" /> 
</tr> 
      </table> 
</div> 
</form> 

操作頁面

<?php 
    if ($action == 'contactdetails') { 
     $data['layout'] = 'layout_blank.tpl.php'; 
      $nme = $_POST['name']; 
     echo json_encode(array("returnValue"=>"<strong>Thank you " . $nme . " for contacting us.<br /> We will get back to you soon.</strong>")); 
    } 
    ?> 

回答

1

你輸入位於<div id="contactForm">元素內,直到調用這一行:

$('#contactForm').html('<img src="images/ajax_small.gif" />'); 

在哪一點他們消失。一旦發生這種情況,調用.serialize()將不會返回任何值,因爲沒有任何輸入被發現。

呼叫subMe(),然後再更改<div>元素的內容:

$(function() { 
    $('#myF').submit(function (e) { 
     e.preventDefault(); 
     subMe(); 
     $('#contactForm').html('<img src="images/ajax_small.gif" />'); 
    }); 
}); 
+0

太好了!謝謝。公認。 – 2013-02-26 10:06:18