我試圖找出一個paypal問題。設置具有相同ID的多個表單元素的值,Paypal
我在頁面上有多個「立即購買」按鈕,我需要爲所有按鈕設置一個值。
「立即購買」按鈕元素都具有相同的ID。
每個'立即購買'按鈕代表一個許可範圍,因此有'1-5','6-10','11 -20等。我有一個版本列表,它們被放在頁面中遵循一個循環:
$strWeights1 .= "<span id='1".$row['Tag']."' onclick='select_weight(this.id)' class='linkoff'>". $row['Tag'] . "</span> | ";
我可能是在想這一點,但什麼是設置在所有的「立即購買」按鈕,選擇「版本」的最佳方式?
我想使用PayPal的變量「ITEM_NUMBER」
乾杯
就像我已經說過的按鈕是來自PayPal,我無法控制領域存在的命名,所以這個問題我對了。
好吧,所以選擇權重功能只是使跨度像href標籤一樣工作,打開和關閉'按鈕'。
function select_weight(value){
value = value.substr(1);
document.forms["fontweight"]["fw"].value = value;
//this.forms["item_number"].value = value;
thin = document.getElementById('1Thin');
if(thin != null){
thin.className = "linkoff";
thin = document.getElementById('2Thin');
thin.className = "linkoff";
}
light = document.getElementById('1Light');
if(light != null){
light.className = "linkoff";
light = document.getElementById('2Light');
light.className = "linkoff";
}
book = document.getElementById('1Book');
if(book != null){
book.className = "linkoff";
book = document.getElementById('2Book');
book.className = "linkoff";
}
medium = document.getElementById('1Medium');
if(medium != null){
medium.className = "linkoff";
medium = document.getElementById('2Medium');
medium.className = "linkoff";
}
bold = document.getElementById('1Bold');
if(bold != null){
bold.className = "linkoff";
bold = document.getElementById('2Bold');
bold.className = "linkoff";
}
heavy = document.getElementById('1Heavy');
if(heavy != null){
heavy.className = "linkoff";
heavy = document.getElementById('2Heavy');
heavy.className = "linkoff";
}
black = document.getElementById('1Black');
if(black != null){
black.className = "linkoff";
black = document.getElementById('1Black');
black.className = "linkoff";
}
//alert(value);
fontweight1 = document.getElementById('1'+value);
fontweight2 = document.getElementById('2'+value);
fontweight1.className = "linkon";
fontweight2.className = "linkon";}
這是按鈕的代碼,它是在頁面約16次,「ITEM_NAME」和「hosted_button_id」改變每次:
<form target=\"paypal\" action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" onsubmit=\"return validateForm()\" >
<input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\">
<input type=\"hidden\" name=\"hosted_button_id\" value=\"xxxxxxxx\">
<input type=\"hidden\" name=\"item_name\" value=\"".$strProdName." : 1-5 terminals \">
<input type=\"hidden\" name=\"item_number\" value=\" [set this value] \">
<input type=\"image\" onMouseOver=\"this.src='images/paypalon.png';\" onMouseOut=\"this.src='images/paypaloff.png';\" src=\"images/paypaloff.png\" border=\"0\" name=\"submit\" alt=\"PayPal — The safer, easier way to pay online.\">
<input type='hidden' name='notify_url' value='http://ipn.php'>
</form>
我一直在思考如何整理出來。我可以使用表單驗證功能來訪問特定的表單並設置該值嗎?我一直在試圖取得任何成功。
function validateForm(form)
{
var x=document.forms["fontweight"]["fw"].value;
if (x==null || x=="")
{
alert("Hold on a moment, you need to select a weight before hitting the ‘Buy’ button.");
return false;
}
else{
field = document.form;
//this.form['item_number'].value = x;
alert(field['item_name'].value);
return false;
}
}
形式標記有此調用它
onsubmit="return validateForm(this.form)"
我在正確的軌道上>或者我應該拋棄它?
不能有多個元素具有相同的編號 – Bergi
所有元素都必須具有不同的ID,對許多元素使用相同的ID是錯誤的,您可以對許多元素使用類但不使用ID。 – Epsil0neR
請向我們展示更多代碼,尤其是按鈕和'select_weight'函數。生成一些'span'標記的代碼沒有多大幫助 – Bergi