我想从<option>
菜单中选择<select>
作为默认选项,而不只是&#34;看到&#34;与使用<option selected="selected">
时的默认值相同。
我尝试使用onload
事件,但页面会无限期地重新加载,并且不允许选择其他选项。
HTML code:
<html>
<body onload="document.stringForm.submit();">
<form method="post" name="stringForm" id="stringForm">
<select name="stringSelect">
<option>one string</option>
<option>two string</option>
<option>three string</option>
</select>
<input type="submit" name="foo">
</form>
</body>
</html>
PHP代码:
<?php
if (isset($_POST["foo"]))
{
$vString = $_POST["string"];
echo $vString;
}
?>
对不起,如果这是个糟糕的问题。第一次发布。
编辑: 这样做的目的是在页面加载时默认显示一个值。
答案 0 :(得分:-1)
您不应该在页面加载时提交表单。这太疯狂了。默认值应该在页面加载之前设置为,或者只允许用户使用<option selected>
标准的表单提交默认值。
例如,这显示了如何在加载表单之前使用默认值来更改表单的内容:
<?php
$vString = "one string"; //this is the default
if (isset($_POST["foo"]))
{
$vString = $_POST["string"]; //overwrite the default if user submitted the form already
}
echo $vString; //show the default on screen or the value the user submitted
//NOW go ahead and load the form...
...
echo "<select name='stringSelect'>
<option ".($vString=='one string' ? 'selected' : '').">one string</option>
<option ".($vString=='two string' ? 'selected' : '').">two string</option>
<option ".($vString=='three string' ? 'selected' : '').">three string</option>
</select>";
//do something else with $vString here
?>