<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="travel_arriveVia" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
<option selected="selected">Please select ...</option>
<option value="Plane">Plane</option>
<option value="Train">Train</option>
<option value="Own Vehicle">Own Vehicle</option>
<option value="Other">Other</option>
</select>
<div id="div1"></div>
这是我正在使用的代码,我不确定DOM操作是否会检索该值?无论我尝试什么,&#34;其他&#34;是在提交时插入数据库的值,而不是在选择&#34;其他&#34;后出现的文本框中输入的可选文本。哪个是需要检索的。
答案 0 :(得分:0)
您可以使用document.querySelector('input[name="other"]')
获取名称为other
的文本框的值。由于此元素不能保证在那里,您可以使用if
条件来防止错误。为了说明querySelector
,我使用了一个按钮,这样当您在文本框中键入值并单击submit
按钮时,它将控制记录输入的值。您可以根据自己的情况使用它。
function showfield(name){
if(name=='Other')document.getElementById('div1').innerHTML='Other: <input type="text" name="other" />';
else document.getElementById('div1').innerHTML='';
}
function btnClick(){
var otherElem = document.querySelector('input[name="other"]');
if(otherElem){
console.log(otherElem.value);
}
}
&#13;
<select name="travel_arriveVia" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
<option selected="selected">Please select ...</option>
<option value="Plane">Plane</option>
<option value="Train">Train</option>
<option value="Own Vehicle">Own Vehicle</option>
<option value="Other">Other</option>
</select>
<div id="div1"></div>
<button onclick='btnClick()'>Submit</button>
&#13;