0

私はphpの知識が少しありますが、これが私がやろうとしていることです。私は を持ってformselect optionます。オプションが値「example_5」で選択されている場合、値を取得したい<input>. これは、入力の値を使用するためにphpまたはjqueryで行われますか?

例: 誰かが example_5 を選択します。に何かを書き込むことができるようになりました<input>。そして、その値が使用されます。

<script type="text/javascript">
    $(function(){
        if($('select').find('option:selected').val() == 'example_5'){

            use input??

            $_COOKIE['input_example'] = $example_1;

        }
        else{
            $_COOKIE['example_1'] = $example_1;
        }
    });
</script>


<?php
    $_COOKIE['example_1'] = $example_1;
?>

<form method="get" action="page2.php">
    <select name="example1">
        <option value="example_1">example_1</option>
        <option value="example_2">example_2</option>
        <option value="example_3">example_3</option>
        <option value="example_4">example_4</option>
        <option value="example_5">example_5</option>
    </select>
    <input name="input_example" type="text">
</form>
4

3 に答える 3

1

私が行う方法はonChange、ボックスにリスナーを配置し、selectjavascript を使用して入力ボックスの値を取得することですdocument.getElementById。任意のjQueryショートカットを使用できますが、方法論は同じです。

この手法を使用した機能的な例については、このフィドルを参照してください。

関係のないことですが、タグは必ず閉じてください<input />(おそらく単なるタイプミスです :)

編集

コメントに従って: Cookie の値から入力の値を設定するだけです。

document.getElementById("input_example").value = getCookie("cookie_name");

Cookie を取得するための簡単な関数を記述できる場所:

function getCookie(Name) {
  var search = Name + “=”
  if (document.cookie.length > 0) { // if there are any cookies
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(”;”, offset)
      // set index of end of cookie value
      if (end == -1)
        end = document.cookie.length
      return unescape(document.cookie.substring(offset, end))
    }
  }
}

js cookie 関数のチュートリアルはこちら.

こちらもご覧ください

JS クッキー

于 2013-01-07T15:13:05.870 に答える
0

blo0p3r の回答に対するコメントに基づいています。

page2.php で、空白または HTML が送信される前に、スクリプトの一番上に以下を追加します。

<?php

if (isset($_GET['example1']) && $_GET['example1'] === "example_5")
  setcookie($_GET['input_example'], 'example_5', time()+3600, '/');
于 2013-01-07T15:42:04.557 に答える
0

まず、送信元が送信されているかどうかを確認します。その後$_COOKIE['example_1'] = $example_1;、次のようになります。

$_COOKIE['example_1'] = $_GET['example1'];

于 2013-01-07T15:13:15.303 に答える