1

そのため、入力されたコードに基づいてリダイレクト システムを作成する必要があります。現在私は持っています:

<form id="form1" name="form1" method="post" action=""> 
  <pre>     <input type="text" name="meow" id="meow" /> <input type="submit" name="submit" id="submit" value="Submit" onclick="javascript:window.location.href('http://foo.exaple.com/bar/' + document.getElementById("meow").value + '.zip')"/>

基本的に、テキスト ボックスに入力されたコードに基づいて foo.example.com/bar/ に zip ファイルをダウンロードするには、上記のスクリプトが必要です。

テキストボックスニャーにコード「ugh」を入力して送信をクリックすると、 http://foo.example.com/bar/ugh.zipでファイルをダウンロードしたい

これどうやってするの?

4

1 に答える 1

5

.href関数/メソッドではなく、有効な URI 文字列を割り当てるプロパティです。

location.href = 'http://foo.exaple.com/bar/' + document.getElementById('meow').value + '.zip';

MDN:window.locationオブジェクトを参照してください


補足: フォームを送信したくない場合は、type="button"送信する代わりに入力を使用してください。

また、構造と動作 (HTML と JS) を混在させることは、通常、Web 2.0 の時代では嫌われています。

<input type="button" name="submit" id="submit" value="Submit">
<script>
document.getElementById('submit').onclick = function() {
    location.href = 'http://foo.exaple.com/bar/' + document.getElementById('meow').value + '.zip';
};
</script>

これは、IE6 以降のすべてのブラウザーでもうまく機能し、マークアップ内で引用符を混同するなどの頭痛の種を節約できます。=]
メンテナンスも簡単で、後でページの JS を別の.jsファイルに移動して、構造と動作をキャッシュおよび分離することもできます。

于 2013-01-21T22:13:53.037 に答える