Javascript 使用jQuery在每个链接之后将PHP响应加载到DIV中

Javascript 使用jQuery在每个链接之后将PHP响应加载到DIV中,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一张表,结构如下。我希望PHP脚本在相应行下方的DIV中执行,而不是仅仅链接到外部PHP脚本。我认为这可以通过插入一个跨表的行(其中包含一个DIV),然后在该DIV中加载外部脚本来实现 <table width="100%" border="0" cellspacing="0" cellpadding="5"> <tr class="tableTitle"> <td></td> <td>Category</

我有一张表,结构如下。我希望PHP脚本在相应行下方的DIV中执行,而不是仅仅链接到外部PHP脚本。我认为这可以通过插入一个跨表的行(其中包含一个DIV),然后在该DIV中加载外部脚本来实现

<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr class="tableTitle">
    <td></td>
    <td>Category</td>
    <td>Price</td>
    <td>Stock</td>
    <td>Options</td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=634">007: Quantum of Solace</a></td>
    <td>Gaming > Xbox 360 > Games > Shooter</td>
    <td>$22.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=634">delete</a></td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=711">2006 FIFA World Cup Germany</a></td>
    <td>Gaming > Xbox 360 > Games > Sports</td>
    <td>$9.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=711">delete</a></td>
  </tr>
  <tr>
    <td><a href="getProduct.php?id=148">2010 FIFA World Cup South Africa</a></td>
    <td>Gaming > PlayStation 3</td>
    <td>$15.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=148">delete</a></td>
  </tr>
</table>

非常感谢您的帮助:)

我相信您是说希望在html div中使用php,下面是一个示例,希望这对您有所帮助

<?php
$con = mysql_connect("localhost", "cis246", "t@sk93")
or exit(mysql_error());
$db = mysql_select_db("students",$con)
or die(mysql_error());
$sql = mysql_query("select * from CIS110");
echo "<table cellspacing='0' border='1'>";
echo "<tr><th>SID</th><th>FirstName</th><th>LastName</th></tr>";
while($row = mysql_fetch_object($sql)) {
$sid = $row -> SID;
$LastName = $row -> LastName;
$firstName = $row -> FirstName;
echo("<tr><td>$sid</td><td>$LastName</td><td>$FirstName</td></tr>");
}
echo "</table>";
mysql_close($con);
?>

不可能按需(使用javascript)在文档中实际执行PHP脚本。您可以使用iframe并使用
a
标记的
target
属性将文档加载到iframe中:

<a href=somescript.php target=product123>Link</a>
...
<iframe id=product123 frameborder=0></iframe>

...

这将把链接的href加载到由目标属性中的id指定的iframe中,而不使用任何javascript。记住隐藏iframe(css?js?),直到点击所需的链接。您还可以在单击链接时动态创建和插入iFrame,但我认为这仅限于同一个域。

我自己使用Prototype而不是jQuery解决了这个问题。希望这能帮助其他人

JavaScript:

<script src="js/prototype.js" type="text/javascript"></script> 
<script type="text/javascript">
    function getDetails(targetDiv) {
        new Ajax.Updater(targetDiv, 'productGet.php', { method: 'get', parameters: 'id='+targetDiv });
    }
</script>

函数getDetails(targetDiv){
新的Ajax.Updater(targetDiv'productGet.php',{method'get',parameters'id='+targetDiv});
}
HTML:


类别
价格
股票
选择权
游戏>Xbox 360>游戏>射击游戏
$22.00
0

2006年国际足联世界杯 游戏>Xbox 360>游戏>运动 $9.00 0
游戏>PlayStation 3 $15.00 0
如果使用jQuery和Prototype,请确保避免任何冲突:

<script type="text/javascript">
    var $j = jQuery.noConflict();
</script> 

var$j=jQuery.noConflict();

请使用ajax、iframe或直接从服务器回显,而不是在新窗口中打开链接,我希望getProduct.php?id=加载到链接下方的一个DIV中,这样页面就不必刷新。然后请使用ajax并将DIV的内容替换为从服务器获得的内容。这就是我需要帮助的地方。我还没有发现任何关于stackoverflow的例子可以处理动态内容(比如这个结果数量波动的表)。这不是我要问的,我自己解决了这个问题。谢谢你的回复。这不是我要问的,我自己解决了。谢谢你的回复。
<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr class="tableTitle">
    <td></td>
    <td>Category</td>
    <td>Price</td>
    <td>Stock</td>
    <td>Options</td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid634); return false;">007: Quantum of Solace</a>
      </td>
    <td>Gaming > Xbox 360 > Games > Shooter</td>
    <td>$22.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=634">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid634"></div></td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid711); return false;">2006 FIFA World Cup Germany</a>
            <br>
      <span class="offset">2006 FIFA World Cup</span>
      </td>
    <td>Gaming > Xbox 360 > Games > Sports</td>
    <td>$9.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=711">delete</a>
            <br>
      <a href="productDelete.php?id=711&aliasId=0">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid711"></div></td>
  </tr>
    <tr>
    <td><a href="javascript:void(0)" onclick="javascript:getDetails(pid148); return false;">2010 FIFA World Cup South Africa</a>
      </td>
    <td>Gaming > PlayStation 3</td>
    <td>$15.00</td>
    <td>0</td>
    <td><a href="productDelete.php?id=148">delete</a>
      </td>
  </tr>
  <tr>
  <td colspan="5"><div id="pid148"></div></td>
  </tr>
</table>
<script type="text/javascript">
    var $j = jQuery.noConflict();
</script>