2013-03-22 142 views
-1

我有此代碼的工作:請求while循環

<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"; 
    } 

?> 

回答

1

您正在使用幾次相同的ID。 Ids必須是獨一無二的。

1

你正在處理多個ID。一個ID的作用是作爲元素的唯一標識符。我建議只使用

<form action="details.php" type="get"> 

這將做你正在嘗試實現而不使用函數。

0

帶元素ID的東西是它們需要對頁面是唯一的;但是,正如您所看到的,不需要顯示HTML。當調用JS函數getDetails()時,它通過ID抓取元素,但是當頁面中有多個ID時,這將失敗。

那麼你能做什麼?那麼,在你的循環中,你爲每個「品牌」創建一個新表單。您可以將表單的引用傳遞給grabdetails,然後通過名稱,獲取該表單中的值。


比使用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或使你的按鈕變成一個普通的鏈接,而不是一種形式。

+0

NOt Working :(bro – 2013-03-22 17:00:47

+0

@RahulMitra你是否改變了你的代碼來使用我的建議或者只是改變兩個地方?你需要刪除兩條'var'行的JS函數 – UnholyRanger 2013-03-22 17:02:33

+0

2013-03-22 17:08:07