2013-04-24 192 views
0
....... while(mysql_fetch_array($loop)) 
    {.............. 
    echo ' 
    <form name="myform" method="POST" action="reply.php"> 
    <textarea style="width:400px;" name="text'.$idanswer.'" id="text'.$idanswer.'"></ textarea> 
    <input type="submit" name="submit'.$idanswer.'" id="submit'.$idanswer.'"  value="Submit"> 
    <input type="hidden" name="idquest" id="idquest" value="'. $question_id .'"> 
    <input type="hidden" name="idansw" id="idansw" value="'. $idanswer .'"> 
    <input type="hidden" name="idsend" id="idsend" value="'. $logOptions_id .'"> 
    <input type="hidden" name="namer" id="namer" value="'. $usr .'"> 
    </form>'; 
    } 

它工作的很好。但我想用jquery發送這個表單而不刷新頁面,而且我不知道如何在函數中傳遞變量。
我需要這樣的:用jquery發送動態創建表格

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('submit'.$idanswer.'').click(function (e) { 
      e.preventDefault(); 
      var dataString = 'text'.$idanswer.'=' + $('#text'.$idanswer.'').val() + '&idquest=' + $("#idquest").val() + '&idansw=' + $("#idansw").val() + '&idsend=' + $("#idsend").val() + '&namer=' + $("#namer").val(); 
      jQuery.ajax({ 
      type: "POST", 
      url: "reply.php", 
      data:dataString, 
      success:function(response){ 
       $("#respond").prepend(response); 
           $('#text'.$idanswer.'').val(''); 
      }, 
      error:function (xhr, ajaxOptions, thrownError){ 
       alert(thrownError); 
      } 
     }); 
    }); 
}); 
</script> 

由於變量,這不起作用。任何想法?

+0

我強烈建議格式化的代碼。 – 2013-04-24 01:00:20

+0

你有一種形式或多種形式? – razzak 2013-04-24 01:22:45

回答

0

你需要你的呼應PHP變量

var dataString = 'text <?= $idanswer ?>=' + $('#text<?= $idanswer ?>').val() +&idquest=' + $("#idquest").val() + '&idansw=' + $("#idansw").val() + '&idsend=' + $("#idsend").val() + '&namer=' + $("#namer").val(); 

只是改變每$phpvar<?= $phpvar; ?><?php echo $phpvar; ?>

PHP可以不將JS混用,但它可以被包埋;

這是錯誤的:

$('submit'.$idanswer.'') 

右邊是:

$('submit <?= $idanswer ?>') 

$('submit <?php echo $idanswer; ?>') 
+0

謝謝查理。它像一個魅力!並感謝dreamcrash進行編輯。 – bob 2013-04-24 01:19:22

+0

歡迎您:D – egig 2013-04-24 01:21:32

0

給各自形成了獨特id,更改提交按鈕正常按鈕input="button"這樣它不會提交單擊的表單並將onclick屬性添加到但噸這樣的:

<form name="myform" id="form'.$idanswer.'" method="POST" action="reply.php"> 
<input type="button" class="submit" name="submit'.$idanswer.'" id="submit'.$idanswer.'"  value="Submit" onClick="submitForm(\'form'.$idanswer.'\')" /> 

創建Ajax功能和使用serialize()方法,該方法將獲得的,而不是手動添加每一個的所有形式的輸入值獲得從每個表單參數:

$(document).ready(function() { 
    function submitForm(form){ 
     jQuery.ajax({ 
      type: "POST", 
      url: "reply.php", 
      data: $('#' + form).serialize(), 
      success:function(response){ 
       $("#respond").prepend(response); 
           $('#text'.$idanswer.'').val(''); 
      }, 
      error:function (xhr, ajaxOptions, thrownError){ 
       alert(thrownError); 
      } 
     }); 
    } 
});