Php 在同一页中获取select值
我有这个选择按钮:Php 在同一页中获取select值,php,html,select,Php,Html,Select,我有这个选择按钮: <form method="post"> <label> <select id="label" name="challengeX" style="margin-top:150px;"> <option selected value="0"> Global Statistics </option> <option value="1">C
<form method="post">
<label>
<select id="label" name="challengeX" style="margin-top:150px;">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
</label>
</form>
全球统计
挑战1
挑战2
挑战3
在同一页下面几行,我有:
<div id="challenge">
<?php
$Ch = $_POST['challengeX'];
echo "Challenge: ".$Ch;
showSomething($Ch,1,1);
?>
</div>
但是当我更改选项时,它没有更改post值
$Ch = $_POST['challengeX'];
在您提交表单之前不会获得值。在表单中添加提交按钮
<form method="post" action="">
<label>
<select id="label" name="challengeX" style="margin-top:150px;">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
</label>
<input type="submit" value="Submit">
</form>
全球统计
挑战1
挑战2
挑战3
并仅在提交表单时访问同一页面中的表单值
<div id="challenge">
<?php
if(isset($_POST)) // checks whether any value is posted
{
$Ch = $_POST['challengeX'];
echo "Challenge: ".$Ch;
showSomething($Ch,1,1);
}
?>
</div>
以您可以使用Javascript的方式。如果你不想使用PHP之类的服务器
<form method="post">
<label>
<select id="label" name="challengeX" style="margin-top:150px;">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
<input type="submit" /> /* add this line */
</label>
</form>
全球统计
挑战1
挑战2
挑战3
/*添加这一行*/
通过Javascript
<select id="label" name="challengeX" style="margin-top:150px;" onChange="getSelect(this)">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
<div id="resultSelect"></div>
<script>
function getSelect(thisValue){
document.getElementById('resultSelect').innerHTML=thisValue.options[thisValue.selectedIndex].text;
}
</script>
全球统计
挑战1
挑战2
挑战3
函数getSelect(thisValue){
document.getElementById('resultSelect')。innerHTML=thisValue.options[thisValue.selectedIndex].text;
}
您需要在更改下拉列表时提交表单
更改html如下:
<form method="post">
<label>
<select id="label" name="challengeX" style="margin-top:150px;" onchange="this.form.submit()">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
</label>
</form>
<div id="challenge">
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$Ch = $_POST['challengeX'];
echo "Challenge: ".$Ch;
showSomething($Ch,1,1);
function showSomething($Ch,1,1){
//do your stuff
}
}
?>
</div>
全球统计
挑战1
挑战2
挑战3
对于您的php执行,您可以这样尝试:
<form method="post">
<label>
<select id="label" name="challengeX" style="margin-top:150px;" onchange="this.form.submit()">
<option selected value="0"> Global Statistics </option>
<option value="1">Challenge 1</option>
<option value="2">Challenge 2</option>
<option value="3">Challenge 3</option>
</select>
</label>
</form>
<div id="challenge">
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$Ch = $_POST['challengeX'];
echo "Challenge: ".$Ch;
showSomething($Ch,1,1);
function showSomething($Ch,1,1){
//do your stuff
}
}
?>
</div>
PHP在服务器上运行,并将HTML(或其他数据)传送到浏览器 如果您想用PHP处理表单数据,那么必须将其包含在新的HTTP请求中(通常通过提交表单),并让PHP使用该数据生成新页面
或者,如果要在客户端上处理数据,则需要使用浏览器支持的编程语言。除非您想开始使用插件(或特定于浏览器的技术),否则只能使用JavaScript。您可以将事件侦听器更改为select元素,并更改结果 提交按钮在哪里?你能说为什么否决投票吗?