0

wordpress でサイトを構築していますが、解決方法がわからない問題に遭遇しました。

状況:

  1. ユーザーが<select>1 つのページのタグから選択し、その選択を送信します
  2. ユーザーは、同じ<select>. ユーザーがオプションを選択すると、少しの jQuery を使用して、そのオプションに対応するコンテンツが表示されます。

-

$('.result').hide();

$('#servicearea').change(function() {
  $('.result').hide();

  var optionValue = $ (this).attr('value');
  $('#'+optionValue).show('fast');

});

問題:

  1. 最初のページからの選択を 2 番目のページに持ち越してから、このスクリプトを実行する必要があります。

ソリューション:

  1. 正直なところ、どこから始めればよいかわかりません。おそらくクッキーですか?私はjQueryに慣れているので、jQueryタイプのソリューションがあることを望んでいました。

任意の提案をいただければ幸いです。

4

2 に答える 2

0

javascript は、ページに何を投稿したかを認識しません。

次のようにして、値をphpからjavascriptに入れることができます。

<script>
    doSomething(<?=$_POST['selected'?>);
</script>

または、非表示のフォームフィールドに入れることができます

<input type="hidden" id="hiddenField" value="<?=$_POST['selected']?>">

で値をキャッチします

$('#hiddenField').val()
于 2012-05-03T19:53:11.770 に答える
0

非表示のフォーム フィールドが機能します。ただし、代わりに PHP セッションを使用することにした場合は、こちらをご覧ください。

上記リンクから…

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

page1.php を表示した後、2 番目のページ page2.php にはセッション データが含まれます。セッション id の伝達に関する情報については、セッション リファレンスを参照してください。たとえば、定数 SID とは何かについて説明されています。

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

アップデート

あなたのスニペットから判断すると、次のようにしてセッション変数を設定すると思います。

<form action="" method="post">
<select type="select" name="servicearea" >
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
</select>
<input type="submit" name="Submit" value="Submit!" />
</form>

<?php
session_start();
if (isset($_POST['Submit'])) {
    $_SESSION['optionValue'] = $_POST['servicearea'];
}
echo $_SESSION['optionValue'];
?>
于 2012-05-03T19:57:40.480 に答える