2012-02-04 56 views
-6

您好我想在PHP中使用html代碼,而在每個循環中都會生成html代碼的命令,但我不知道如何在php代碼中使用引號將真實值發送給java腳本!
這是我在PHP代碼如何在html代碼中使用php代碼引用

<?php 
include 'Connect.php'; 
if(match($_POST['pId'], "/^[\d]+$/")){ 
$pId = $_POST['pId']; 
$result = mysql_query("select pName, pID, phName, phID, testHistoryDate, type, testAnswer from patient join reception using(pID) join physician using(phID) join testHistory using(rID) join test using(tID) where pID = $pId",$connection); 
} 
else 
die("Insert true value"); 
while($row=mysql_fetch_array($result)){ 
echo "<tr><td>"; 
echo $row["pName"].'</td>'; 
echo '<td>'.$row["phName"].'</td>'; 
echo '<td>'.$row["testHistoryDate"].'</td>'; 
echo '<td>'.$row["type"].'</td>'; 
$type = $row['type']; 
$testHistoryDate = $row['testHistoryDate']; 
?> 
<td> 
<span id='spryTanswer'> 
<input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' /> 
</span> 
</td> 
<td> 
<input type='submit' value='Edit' name='edit' id='edit' onclick="sendToEdit('<?php echo $row['pID'] ?>','<?php echo $row['phID'] ?>', '<?php echo $row['testHistoryDate'] ?>', '<?php echo $row['type'] ?>')" /> 
</td> 
</tr> 
<?php } ?> 

Java腳本代碼,獲得這些價值和主題發送到另一個PHP代碼。在引號前

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
function sendToEdit(pID,phID,thDate,type) 
{ 
testAnswer = $("#tAnswer").blur().val(); 
testAnswer = $("#tAnswer").change().val(); 
var info = 'pId='+pID+'&phId='+phID+'&testAnswer='+testAnswer+'&thDate='+thDate+'&type='+type; 
$.ajax({ 
type:"GET", 
url:"edit-testAnswer.php", 
data:info, 
success:function(){ 
} 
}); 
return false; 
} 
</script> 
+1

真值...? – Hubro 2012-02-04 18:15:25

回答

0

認沽反斜槓,所以'<span onclick="alert(\'Do something\');">'

2

我不知道你所說的「真實報價」或「真值」的意思,但渲染所有的HTML在PHP串那樣沒有按」任何意義擺在首位:

<tr> 
    <td> 
    <span id='spryTanswer'> 
     <input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' /> 
    </span> 
    </td> 
    <td> 
    <input type='submit' value='Edit' name='edit' id='edit' onclick='<?php echo sendToEdit($row['pID'], $testHistoryDate, $type); ?>' /> 
    </td> 
</tr> 
+0

沒有這個html代碼在php中生成命令,所以我不能使用你的代碼! – 2012-02-04 18:51:18

+0

@fireboy是的,即使它在PHP循環內,它也會正確呈現。 – 2012-02-04 18:54:49

+0

我將您的代碼複製並粘貼到我的php代碼中,但服務器發送此錯誤! '語法錯誤,意想不到的'<'在你的代碼開始的第57行的C:\ wamp \ www \ final \ patient-tests.php中! php代碼==><?php你的代碼?> – 2012-02-04 19:21:03

1

這是我會寫你所提供的代碼....

include 'Connect.php'; 
if(match($_POST['pId'], "/^[\d]+$/")) 
{ 
    $pId = $_POST['pId']; 
    $result = mysql_query("select pName, pID, phName, phID, testHistoryDate, type, testAnswer from patient join reception using(pID) join physician using(phID) join testHistory using(rID) join test using(tID) where pID = $pId",$connection); 
} 
else die("Insert true value"); 

while($row=mysql_fetch_array($result)): ?> 
    <form onSubmit="return false;"> 
    <input type="hidden" name="pId" ="<?php echo $row['pID']; ?>" /> 
    <input type="hidden" name="phId" ="<?php echo $row['phID']; ?>" /> 
    <input type="hidden" name="thDate" ="<?php echo $row['testHistoryData']; ?>" /> 
    <input type="hidden" name="type" ="<?php echo $row['type']; ?>" /> 
    <tr> 
    <td><?php echo $row['pName']; ?></td> 
    <td><?php echo $row['phName']; ?></td> 
    <td><?php echo $row['testHistoryData']; ?></td> 
    <td><?php echo $row['type']; ?></td> 
    <td> 
     <span id='spryTanswer'> 
     <input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' /> 
     </span> 
    </td> 
    <td> 
     <input type='button' value='Edit' name='edit' id='edit' onclick="sendToEdit(this.form)" /> 
    </td> 
    </tr> 
    </form> 

功能sendToEdit(THISFORM) { $阿賈克斯({ 類型: 「GET」, 網址: 「編輯testAnswer.php」, 數據:thisForm.serialize(), 成功:函數(){ } }); 返回false; }

+0

當我寫這段代碼時,我無法獲得生成的textField的值,只有我得到第一個textField的值!在我的代碼我發送編輯文本的值到另一個PHP頁面查詢數據庫,但我不能得到editText的值,除非第一次編輯文本! – 2012-02-04 19:34:58

+0

我編輯我的問題,我編寫我的問題之前,提交問題到stackoverflow但我不能獲得編輯文本的值,除非第一次編輯文本! – 2012-02-04 19:52:58