2012-06-28 115 views
0

請原諒我的缺乏經驗,因爲我不是一個程序員,只是試圖做某些事情的人而已。我不確定正確的術語和複雜的解釋會直接超出我的頭!將變量傳遞給HTML形式Javascript

實質上,我試圖獲取傳遞給鏈接到購物車的簡單窗體的網頁的一部分URL。即如何將文件名轉換爲我擁有xxxxxxx的表單。在JavaScript中可能嗎?

<script type="text/javascript"> 
var url = window.location.pathname; 
var filename = url.substring(url.lastIndexOf('/')+1); 
document.write (filename); 

</script> 
<form action="http://www.mywebspace.com/cf/add.cfm" method="post"> 
<input type="hidden" name="userid" value="12345678"> 
<input type="hidden" name="product" value="xxxxxxx"> 
<input type="hidden" name="price" value="5.00"> 
<input type="Submit" value="Buy now!"> 
</form> 
+2

構建的購物車是_not_容易做到的事情。如果你不知道如何使用Javascript將url複製到一個輸入值,那麼你需要先閱讀並學習一些。請。 – TheZ

+0

我並未構建購物車我正試圖整合將現在購買的按鈕從一個應用程序生成的網頁放入現有的在線購物車中。 –

回答

0

是的,這是可能的。

而不是做document.write,你需要更新表單。假設你的文件名值是當前正確的:

//js 
document.getElementById("name-of-file").value = filename; 

<!- html --> 

... ...

+0

再次感謝您的幫助和代碼。我現在要試着看看我能不能做這個工作。感謝您的幫助。 –

2

我提供了一個代碼片段,將與當前的HTML結構工作。雖然我建議你給該產品領域的ID,以防止有必要環路和搜索元素:

var url = window.location.pathname, 
    filename = url.substring(url.lastIndexOf('/')+1); 
    fields = document.getElementsByTagName('input'); 

for(var i = 0; i < fields.length; i++){ 
    if(fields[i].name == 'product') { 
     fields[i].value = filename; 
     break; 
    } 
} 
+0

感謝您的幫助和代碼。我現在要試着看看我能不能做這個工作。感謝您的幫助。 –

1

如果表單只是一個給定的網頁上不存在一次,這是一個簡單的解決方案:

變化它是:

<input type="hidden" id="productField" name="product" value="xxxxxxx"> 

在JavaScript,

document.getElementById('productField').value = filename; 
+0

以前感謝您的幫助和代碼。我現在要試着看看我能不能做這個工作。感謝您的幫助。 –