あるページから別のページにmywebsite.com/contact/?product=VAR1の形式でURL変数を正常に設定すると、2ページ目に次のページで読み取られるという問題が発生します。単純なコード。
最初の使用は問題ありませんが、それ以降は問題ありません。変数がクリア/再読み取り/リセットされないという問題があります。URLバーは、URLバー mywebsite.com/contact/?product=VAR2でも正常に読み取られるため、最初の部分が機能します。
ただし、コードは、VAR1を格納した後、VAR2部分を取得することを望んでいません。一度ロードされると、VAR1を再表示し続けます。
<?php echo htmlentities($_GET['product']); ?>
それが違いを生む場合、私はこれでjQuery値チェンジャー内の?product=情報を正常に表示しています:
$(".input-text").val('<?php echo htmlentities($_GET['product']); ?>');
unset($ product);を入れるような自分の解決策を試しました。最後の?>の前に、しかし役に立たない。
私はPHP/jQueryの知識が限られており、変数を設定/取得するこの方法は単純なので使用したいと思います。この変数を渡して正確なフォーム入力ボックス値を書き直し、CMSの連絡フォームで正常に送信できるため、jQueryで使用しています。
------------------------更新:コードを追加---------------------- -
(私が考えることができるように、私はすべてのコードを論理的に表示しているだけです)
#1:変数をURLに設定します。最初のechogetURLはURLを表示し、?product =を追加すると、アイテム名が取得されます。これはすべて問題ありません。
<a href="<?php echo Mage::getURL('webforms/index/index/id/2') ?>?product=<?php echo $_product->getName(); ?>">
#2:フォームはCMS内に設定されています。特別なクラスがあるので、jQuery内で正確に選択できます。私はこれらすべてにアクセスすることはできません。CMSによって生成されます。目的は明らかに、選択した製品をこの変数を介して記憶し、連絡フォームで目的を果たすことです。
<div class="field webforms-fields-enquiryfield">
<label for="field_20">
Product in Enquiry
</label>
<div class="input-box">
<input type="text" name="field[20]" id="field[20]" class="input-text" style="" value="">
</div>
</div>
#3:表示する領域と変数が設定されたので、jQueryを使用して変数を入力テキストフォームの実際の値に挿入します。これを行っているのは、CMS内で単純に追加できないためです。テキストを置き換えるには、jQueryを使用する必要があります(とにかく空のボックスです)。
$(".webforms-fields-enquiryfield .input-text").val('<?php echo htmlentities($_GET['product']); ?>');
それがもっと理にかなっていることを願っています。