我有一个php页面,其中包含两个表单。我使用第一个表单来保存ComboBox选项。以下是示例代码:
<form method="post" action="">
<select onchange="form.submit()" name="selectionControl">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</form>
<form method="post" action="">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
<?php
$userSelection = $_POST['selectionControl'];
echo "<br>".$userSelection;
?>
如果我提交第二个表单,页面会重新加载。现在我想知道最后一个$userSelection
。但变量是空的。我该如何解决这个问题?
答案 0 :(得分:0)
我认为你的变量是空的,因为使用了两次form标签。 为什么不用一个?
答案 1 :(得分:0)
最简单的方法是将其值输出到第二种形式的隐藏字段中。为什么不把它作为一种形式呢?
<form method="post" action="">
<select onchange="form.submit()" name="selectionControl">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</form>
<form method="post" action="">
<input type="hidden" name="selectionControl" value="<?php echo $_POST["selectionControl"]; ?>">
First name:<br>
<input type="text" name="firstname" value="Mickey"><br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
<?php
$userSelection = $_POST['selectionControl'];
echo "<br>".$userSelection;
?>
答案 2 :(得分:0)
你有2个表格。第一个包含选择框,第二个包含提交按钮。选择框不是提交表单的Patrick,因此该值不可用作POST变量。
答案 3 :(得分:0)
首先,删除第二个svgContainer
.selectAll("g.lines")
.data(mainMt)
.enter().append("g")
.attr("class", "lines")
.selectAll("line").data(function(d) { return d; })
.enter()
.append("line")
...
标记。这是不必要的,并且阻止你做你想做的事情(我假设,基于典型的形式用途,因为它并不完全清楚你的最终目标是什么)。
其次,从<form>
标记中删除onchange="form.submit()"
。如果您希望他们从下拉列表中选择并提供他们的名字和姓氏,那么在他们更改选择时提交表单将阻止您有效地执行此操作(他们需要直观地知道首先输入名称)。大多数用户在选择车辆制造商时都不希望整个页面刷新(从表单提交),并且没有必要(再次,假设您没有使用该信息做其他事情)在他们提供他们的名字之前)。