1

HTML フォームのテキスト ボックスの値をリンクに添付するにはどうすればよいか考えていました。たとえば、3 つのリンクがあり、各リンクは別の PHP ファイルに移動しますが、変数を渡す必要があります。ページのデザイン上、ボタンが使えません。そこで、テキストフィールドを持つフォームを作成しました。テキスト フィールドの値をリンクと一緒に送信するにはどうすればよいですか?

例えば:

<form>
<input type="text" name="test1" id="test1"></input></form>

<a href=index.php?id=$test1">Link 1</a>
<a href=index2.php?id=$test1">Link 2</a>
<a href=index3.php?id=$test1">Link 3</a>

私がやろうとしていることについて、これが理にかなっていることを願っています。

編集:

これを動的に実行しようとしましたが、次のようになります。

OK、私はこのような関数を作りました:

 <script> 
function awardcode()
{ var awamount = document.getElementById("awardamount"); 
document.write('<?php $awardvar = ' + awamount.value + '; ?>');  
}; 
</script> 

次に、PHP 経由で次のようなリンクを作成しました。

echo '<a id=awlink3 name=awlink3 href="index.php?siteid=gmaward&type=xp&post=' . $posts_row['posts_id'] . '&handle=' . $posts_row['handle'] . '&varamount=' . $awardvar . '">Award XP</a>';

しかし、それはうまくいきませんでした。これは私の入力ボックスのコードです:

<form><input type=text name='awardamount' id='awardamount' onchange='awardcode()' style:'width:10px;'></form>

数字を入力してからタブを押すと、空のページが読み込まれます。

どうすればそれを調整できますか?

4

1 に答える 1

1

JavaScriptを使用してリンクを動的に変更する必要があります。これが1つのアプローチです:

$('a').on('click',function(e) {
  e.preventDefault();
  var url = $(this).attr('href').split('$')[0];
  window.location = url + $('#test1').val();
});

ただし、テキストボックス自体にイベントを追加しonchangeて、HREFが即座に変更され、ユーザーがマウスオーバーで目的の宛先を確認できるようにすることをお勧めします。

$('#test1').on('change', function () {
  var val = $(this).val();
  $('a[href*=\\?id\\=]').each(function (i, el) {
    $(el).attr('href', function (j, str) {
      return str.split('?')[0] + "?id=" + val;
    });
  });
});
于 2013-01-15T16:01:56.710 に答える