我使用此代码:
<form method="get" name="MobileDetails">
<input name="brand" id="brand" value="<?php echo $brand;?>" type="hidden">
<input name="brid" id="brid" value="<?php echo $brandid;?>" type="hidden">
<button type="button" name="submitButton" value="get Details" onclick="getDetails()">
</form>
java脚本
<script type="text/javascript">
function getDetails(){
var brand = document.getElementById('brand').value;
var brandid = document.getElementById('brid').value;
document.MobileDetails.action = 'details.php?brand='+brand+'&id='+brandid;
document.MobileDetails.submit();
}
</script>
但它在while循环中不起作用。有什么问题?我的代码如下。 当我点击按钮时,它什么也没做。但代码工作得很好,而在最上面给出了while循环。
<?php
require_once('connection.php');
$SQL= "SELECT*FROM mobile ORDER BY price ASC LIMIT 10";
$result= mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)){
$brand=$db_field['brand'];
$id=$db_field['id'];
$model=$db_field['model'];
echo "<form method='get' name='MobileDetails'>";
echo " <input name='brand' id='brand' value='". $brand ."' type='hidden'>";
echo" <input name='brid' id='brid' value='". $id ."' type='hidden'>";
echo" <input name='mod' id='mod' value='". $model ."' type='hidden'>";
echo" <button type='button' name='submitButton' value='get Details' onclick='getDetails()'/>
</form> ";
echo "CLICK HERE";
}
?>
答案 0 :(得分:1)
你使用了几次相同的id。 Ids必须是独一无二的。
答案 1 :(得分:1)
你正在处理多个身份证。 ID的作业是元素的唯一标识符。我建议只使用
<form action="details.php" type="get">
如果不使用该功能,这将完全符合您的要求。
答案 2 :(得分:0)
具有元素ID的东西是它们需要对于页面是唯一的;但是,正如您所看到的,HTML不需要显示。在调用JS函数getDetails()
时,它会按ID获取元素,但是当页面中有多个ID时,这将失败。
那你能做什么?好吧,在你的循环中,你为每个'品牌'创建一个新表格。您可以将表单的引用传递给grabdetails
,然后通过 NAME ,从该表单中获取值。
不是使用Javascript根据放在隐藏字段中的给定详细信息生成链接,而应该只在PHP级别生成操作。
echo "<form method='get' name='MobileDetails' action='details.php?brand=$brand&id=$brandid'>";
但是,由于您确实有隐藏字段,因此仅使用action='details.php'
表单将使用户
details.php?brand={brand}&brid={id}&mod={model}
您应该查看POST
或将您的按钮设为普通链接,而不是使用表单。