Javascriptを有効にしていない顧客が多数いるため、JavaScript以外のバージョンのWebサイトを構築しています。このサイトでは、顧客が訪問する国を選択し、それに応じてその国に関連するデータを表示します。CakePHPでページをリロードした後、HTML Selectメニューで選択したオプションを表示
私はこれを動作させることができました。 HTMLドロップダウンメニューを使用して国を選択し、[送信]をクリックすると、選択した国に関連するデータがページにリロードされます。ただし、HTMLドロップダウンメニューに表示される国は変更されないため、ページがリロードされると「Select A Country」に戻ります。
たとえば、ドロップダウンボックスから英国をクリックすると、ページがリロードされるときにドロップダウンに英国が表示されます。ここで
は、私は現在、ビューファイルのために使用していますコードです:<form name="countryselect" action="/selected-country/" method="post">
<select id="country-list" name="countryselected">
<?php foreach($countries as $coun) { ?>
<option value="<?php echo $coun['Tariff']['countryslug']; ?>"><?php echo $coun['Tariff']['countryname']; ?></option>
<?php } ?>
<input type="submit" value="Submit" />
</select>
</form>
そして、私のコントローラファイルに私はこれを使用しています:
$countries = $this->Tariff->find('all', array('conditions' => array('Tariff.gsmid' => '1')));
$this->set('countries', $countries);
if (!isset($_POST['countryselected'])) {
} else {
$countryselect = $_POST['countryselected'];
$tarcounselect = $this->Tariff->find('first', array('conditions' => array('Tariff.countryslug' => $countryselect)));
$this->set('tarcounselect', $tarcounselect);
}
乾杯!
私は推測します$ _SESSION ['selectedCountry']のようなものにセッションを保存するためにsessionを使用する必要があります。また、redirecそれが空でない場合は、選択されたものはそれに等しいと表示されません –