将变量传递给HTML表单Javascript

时间:2012-06-28 20:25:57

标签: 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>  

3 个答案:

答案 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;
    }
}

答案 1 :(得分:1)

如果表单只在给定页面上存在一次,这是一个简单的解决方案:

将其更改为:

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

在你的javascript中,

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

答案 2 :(得分:0)

是的,这是可能的。

您需要更新表单,而不是执行document.write。假设您的文件名值当前是正确的:

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

 <!- html -->

...       ...