0

请原谅我的经验不足,因为我不是一个程序员,只是一个试图让某些东西工作的人。我不确定正确的术语和复杂的解释会直接让我头疼!

本质上,我试图将网页的部分 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>  
4

3 回答 3

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;
    }
}
于 2012-06-28T20:30:43.387 回答
1

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

将其更改为:

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

在你的 javascript 中,

document.getElementById('productField').value = filename;
于 2012-06-28T20:30:45.167 回答
0

是的,这是可能的。

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

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

 <!- html -->

……

于 2012-06-28T20:29:52.573 回答