0

私はプログラマーではなく、何かを機能させようとするだけの人なので、私の経験不足を許してください。正しい用語がわからず、複雑な説明が頭から離れません。

本質的に、ショッピング カートにリンクされている単純なフォームに渡された Web ページの 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

フォームが特定のページに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 に答える