我目前有一个表单,其中包含可以正确输入数据库的文本条目。
在最后一个条目上,我想将其从文本输入切换到下拉列表。这是我当前的代码:
<div class="form-group">
<label for="equipment">Equipment:</label>
<input type="text" id="equipment" name="equipment" value="<?php echo isset($equipment) ? $equipment : ''; ?>" />
<span class="validity"></span>
</div>
这是我尝试将其切换到的代码:
<script type="text/javascript">
function showfield(name){
if(name=='Other')document.getElementById('div1').innerHTML='Other: <input type="text" name="other" />';
else document.getElementById('div1').innerHTML='';
}
</script>
<select name="equipment" id="equipment" onchange="showfield(this.options[this.selectedIndex].value)">
<option value="53V" <?php echo (isset($equipment) && $equipment == '53V') ? 'selected="selected"' : ''; ?>">53v</option>
<option value="53R" <?php echo (isset($equipment) && $equipment == '53R') ? 'selected="selected"' : ''; ?>">53r</option>
<option value="53F" <?php echo (isset($equipment) && $equipment == '53F') ? 'selected="selected"' : ''; ?>">53f</option>
<option value="Other">Other</option>
</select>
<div id="div1"></div>
我真的很亲近吗?
编辑:我根据 Raptord 的建议进行编辑
现在我得到:
错误 2031 没有为准备好的语句中的参数提供数据
添加:
CREATE TABLE `details` (
`id` int(11) UNSIGNED NOT NULL,
`contactname` varchar(255) DEFAULT NULL,
`phonenumber` varchar(255) DEFAULT NULL,
`equipment` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
编辑(修订后的代码):
<script type="text/javascript">
function showfield(name){
if(name=='Other')document.getElementById('div1').innerHTML='Other: <input type="text" name="other" />';
else document.getElementById('div1').innerHTML='';
}
</script>
<div class="form-group">
<label for="equipment"><sup>*</sup> Equipment:</label>
<select name="equipment" id="equipment" onchange="showfield(this.options[this.selectedIndex].value)">
<option value="53V" <?php echo (isset($equipment) && $equipment == '53V') ? 'selected="selected"' : ''; ?>">53V</option>
<option value="53R" <?php echo (isset($equipment) && $equipment == '53R') ? 'selected="selected"' : ''; ?>">53R</option>
<option value="53F" <?php echo (isset($equipment) && $equipment == '53F') ? 'selected="selected"' : ''; ?>">53F</option>
<option value="Other">Other</option> </select> <div id="div1"></div>
</div>
最佳答案
您的选项标签应如下所示,而不是具有 2 个值属性:
<option value="53V" <?php echo (isset($equipment) && $equipment == '53V') ? 'selected="selected"' : ''; ?>>53v</option>
关于php - 我想将文本输入切换到带有选项 -> MYSQL 的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51506434/