1

私はカスタムバスケットに取り組んでいます-http://www.dtrmedical.com/test-site/index.php?id=3&productid= 130。あるフォームから選択したチェックボックスオプションを別のフォームに渡したい。

バスケットの2つの段階を表す2つのフォームがあります。

  1. 最初のフォームを表示するには、「ウィッシュリストに追加ボタン」をクリックします。いくつかのオプションをチェックしてから、下部にある[ウィッシュリストに追加]ボタンをクリックします。
  2. 2番目のフォームを表示するには、緑色の「ウィッシュリストボタン」をクリックします。これにより、選択されたオプションが表示されます。

最初のフォームでチェックされたオプションと、2番目のフォームでチェックされたオプションを表示したいと思います。どうすればこれを行うことができますか?

コード全体を見たい場合は-http://pastebin.com/W3UVSSEx

最初のフォームは197行目から始まり、2番目のフォームは276行目から始まります。

両方のフォームのチェックボックスは次のように表示されます。

<input type="checkbox" 
       name="<? echo $productid."_".$product_quantity[id]."_".$product_option[id]; ?>" 
       value="<? echo $quote[qty]; ?>" 
/>

<input type="checkbox" 
       name="<? echo $productid."_".$product_quantity[id]."_".$product_option[id]; ?>" 
       value="<? echo $sample[qty]; ?>" 
/>

使用しようとしましたissetが、チェックボックス名が変数であるため、何をチェックすればよいかわかりません。

4

2 に答える 2

1

2番目のフォームで行う必要があるのは、次の方法でPOST変数にアクセスすることだけです。

isset($_post['My_Checkbox_Name'])

2ページ目で必要に応じてチェックボックスを再設定します。

于 2011-10-06T16:09:05.477 に答える
0

2番目のフォームを作成するときは、最初のフォームを作成するのと同じ方法でチェックボックスを作成します。ループからHTMLを作成するときは、チェックボックスをオンにして、例として設定されていることを返すすべてのチェックボックスをチェックします。

これは、チェックボックスの名前が定義される方法です

$item[pid]."_".$item[qid]."_".$item[oid]

したがって、それを生成するループでは、このようにチェックします

if (isset($_post[$item[pid]."_".$item[qid]."_".$item[oid]])) { 
 //Build your checkbox HTML with the checked="checked";
} else { 
 // Build your normal checkbox (unticked)
}
于 2011-10-06T18:31:09.547 に答える