php - 我想将文本输入切换到带有选项 -> MYSQL 的下拉列表

标签 php html mysql

我目前有一个表单,其中包含可以正确输入数据库的文本条目。

在最后一个条目上,我想将其从文本输入切换到下拉列表。这是我当前的代码:

    <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/

相关文章:

php - 删除或匹配 Unicode 零宽度空格 PHP

php - 处理数百万行时,PDO DELETE异常慢

html - 全宽导航栏 - CSS

javascript - 更改 JQuery 选项卡 slider 上的图像大小

mysql - 在 INNER JOIN 中使用列别名

javascript - 尝试在 getElementId 无效的表单中注册后出现弹出窗口

php - 如何了解MySQL是否更新或插入

javascript - 如何检测 Windows Mobile 5 浏览器中的 JavaScript 按键事件?

mysql - 大型不常访问数据集的数据库解决方案

PHP/mySQL 准备好的语句