我在弹出窗口中下拉,用户可以选择他们的国家/地区。我使用隐藏字段用php提交选项,当我点击“提交”按钮时,我得到了被选中的国家。有关国家/地区的信息显示在标题中,因此它应该在每个页面上,但是当我开始在页面之间浏览时,国家值会消失。我怎样才能将它保存在每一页上?
<div class="field">
<div class="input-box">
<?php $_countries = Mage::getResourceModel('directory/country_collection')->loadData()->toOptionArray(false); ?>
<?php if (count($_countries) > 0): ?>
<select name="country" id="country" onchange="print(this.value)">
<option value=""> </option>
<?php foreach($_countries as $_country): ?>
<?php if(!in_array($_country['value'], $arrNO)):?>
<option value="<?php echo $_country['value'] ?>" >
<?php echo $_country['label'] ?>
</option>
<?php endif;?>
<?php endforeach; ?>
</select>
<?php endif; ?>
</div>
<form action="" method="post">
<input id="choice" type="hidden" name="fname" value=""/>
<input type="submit" value="OK"/>
</form>
<div id="usWarning"><p><span class="red">NOTE</span>: If you live in <span class="red">Arizona</span>, <span class="red">Iowa</span>, <span class="red">Maryland</span>, <span class="red">Oklahoma</span>, <span class="red">South Dakota</span>, <span class="red">Vermont</span>, <span class="red">Washington</span> or <span class="red">Wisconsin</span>, we are unfortunately not allowed to sell tobacco to you. Its forbidden with online sales of tobacco in these states.</p></div>
</div>
在JS的帮助下分配的隐藏输入字段的“值”:
function print(value) {
document.getElementById("choice").value=value;
}
感谢您的帮助。
答案 0 :(得分:0)
您可以创建会话变量,以使值在页面中保持不变。
$_SESSION['countryname'] = "countryname";
<强> Sessions 强>
修改:
当您将Sessions用于其他目的时,请分别设置一个Cookie,但需要自己的到期。使用setcookie
。
答案 1 :(得分:0)
要在请求之间保留表单值,因为隐藏字段只是意味着在呈现它时将其回显到表单中。
<input id="choice" type="hidden" name="fname" value="<?php echo htmlspecialchars ($_POST ['fname']); ?>" />
答案 2 :(得分:0)
在行动页面
$_SESSION['country'] = $_POST['country']
表格
<option value="<?php echo $_country['value'] ?>" <?php if(isset($_SESSION['country']) && $_SESSION['country']===$_country['value']) echo "selected"; ?>>
echo
会话值(如果设置)也是隐藏字段