PHP刷新按钮onclick

问题描述:

我有这个while循环回声来自SQL数据库的条目。我有一个“添加到购物车”按钮,应该从列表中删除条目,并将其添加到其他地方。这部分工作,但一旦我点击“添加到购物车”按钮,该条目不会马上删除,我必须手动刷新页面或访问另一个页面,并返回以便看到该项目被删除。我尝试在按钮的onclick propery上使用以下(和几个类似的)行,但它不起作用。PHP刷新按钮onclick

echo "<br /><center><input type='submit' name='submitAdd' value='Add to Cart' onclick='window.location.reload();'></center>"; 

任何建议表示赞赏。

谢谢。

编辑:这是我用来生成表的while循环。它在一个标签里面。

while ($row = mysql_fetch_array($song_query)) { 
    foreach ($_SESSION['selected_items'] as $key => $value) { 
     if ($value == $row['Item_ID']) { 
      $rowID = $row['Item_ID']; 
      echo "<tr style='background-color: #66FFFF;'>"; 
      echo "<td><input type='checkbox' name='removeFromCart[]' value='$rowID'></td>"; 
      echo "<td>" . $row['Item_ID'] . "</td>"; 
      echo "<td>" . $row['Name'] . "</td>"; 
      echo "<td>" . $row['Artist'] . "</td>"; 
      echo "<td>" . $row['Album'] . "</td>"; 
      echo "<td>" . $row['Time'] . "</td>"; 
      echo "<td>" . $row['Year'] . "</td>"; 
      echo "<td>" . $row['Bit_Rate'] . "</td>"; 
      echo "<td>" . $row['Sample_Rate'] . "</td>";     
      echo "</tr>"; 
     } 
    } 
} 
+0

处理添加到购物车功能的页面是否一样?或者它在不同的页面上? – asifrc 2013-04-10 23:57:08

+0

这是相同的页面。 – TheShadowbyte 2013-04-11 00:01:05

PHP是一种服务器端语言,所以在结果显示给用户之前,服务器上将执行任何“动作”。为了在页面加载到用户浏览器后修改页面,您必须使用客户端语言,例如JavaScript。如果您想在不必重新加载页面的情况下显示购物车的更新,那么使用AJAX请求是您的最佳选择。退房的教程在http://www.w3schools.com/ajax/,让我知道,如果你有关于如何实现一个:)

更新任何问题:强制刷新
如果你想只是按原样重新加载页面坚持,尝试onclick='window.location.reload(true);'代替的onclick='window.location.reload();'true参数强制向服务器发送获取请求。 http://www.w3schools.com/jsref/met_loc_reload.asp

+0

是的,我尝试使用JavaScript函数,如onclick ='window.location.reload();在按钮上,但它不会工作。我从来没有使用AJAX,但如果它解决了这个问题,我会试一试。 – TheShadowbyte 2013-04-11 00:19:29

+0

'window.location。reload();'确实是javascript,但它只是刷新页面,这违背了动态网页的目的lol。给教程一读,并回到我:) – asifrc 2013-04-11 00:25:24

+0

另外,你打开使用jQuery?它会使ajax /更新页面的方式更简单。 – asifrc 2013-04-11 00:28:06

如果你正在寻找的唯一功能是重新载入页面上的按钮的点击,一路上我通常做的是的onclick =“history.go(0)”

但如果形式按钮是什么提交表单,并已经重新加载页面,然后我不明白为什么你不能把while循环您这样其他的代码后,

检查FORM(){ UPDATE SQL数据库 }

WHILE(){ 输出数据库数据 }

+0

我刚刚尝试过,因为某些原因没有工作。 – TheShadowbyte 2013-04-11 00:06:40

+0

你如何提交表格? – SnoApps 2013-04-11 00:07:08

+0

”; – TheShadowbyte 2013-04-11 00:07:58