gpt4 book ai didi

javascript - 检查是否在不使用 jquery 的情况下在选择框中显式选择了任何选项?

转载 作者:行者123 更新时间:2023-11-28 09:49:41 25 4
gpt4 key购买 nike

//如何检查选择框中是否没有明确选择任何选项?我使用下面的代码并且它有效但是有没有一种更优雅的方法来检查选择框中是否没有显式选择任何选项而不使用 jquery?

    // This function is called onclick or onchange a select in the submitting form
function getplano(aaaooo){
var esepen = document.getElementById('esEpendysi');
var exepen=document.getElementById('exEpendysi');
// (esEpendysi and exEpendysi are two other selects in the submitting form)
try{
var esepval = esepen.options[esepen.selectedIndex].innerHTML;
// or ////~ var esepval = esepen.options[esepen.selectedIndex].text;
}
catch(e){
// alert(e.name + "\n" + e.message)
//When there is not a selected value the error thrown is:
// NS_ERROR_DOM_INDEX_SIZE_ERR
//Index or size is negative or greater than the allowed amount
}
try{
var exepval = exepen.options[exepen.selectedIndex].innerHTML;
}
catch(e){
// alert(e.name + "\n" + e.message)
}
if(esepval && exepval) {
alert(aaaooo +'&esepen='+esepval+'&exepen='+exepval);
//example: handling.php?tzapan=panel&esepen=aluminium&exepen=wood
}
else
alert('Please select Outside or/and Inside surface finish');
}

html 表单为:

    <BODY >
<form name="" action="" method="post">
<table >
<tr><td align=left>Outside finish:<br><SELECT size='2' name=exEpendysi id='exEpendysi' ><OPTION>aluminium</OPTION><OPTION>wood</OPTION></SELECT></td><td align=left>Interior finish:<br><SELECT size='2' name=esEpendysi id='esEpendysi' ><OPTION>aluminium</OPTION><OPTION>wood</OPTION></SELECT></td></tr>
<tr><td style='font-size:16px;font-weight:bold;'>fixed side<br><select size='2' id='selectplainou' name='selectplainou' onChange="getplano('handling.php?tzapan='+this.options[this.selectedIndex].innerHTML)" > <OPTION>panel</OPTION><OPTION>glass</OPTION> </select ></td>
<td><input type="submit" value="Submit" /></td></tr>
</table>
</form>
</BODY></HTML>

最佳答案

function getplano( aaaooo ) {
var esepen = document.getElementById( 'esEpendysi' );
var exepen = document.getElementById( 'exEpendysi' );

// These two will return true if it's the default value
// Else, it returns false.
var esepenSelected = esepen.options[ esepen.selectedIndex ].value === "default option";
var exepenSelected = exepen.options[ exepen.selectedIndex ].value === "default option";

// Since we have these two variables, we can elegantly use:
if ( !esepenSelected && !exepenSelected ) {
// do something
}
}

这样够优雅吗?

关于javascript - 检查是否在不使用 jquery 的情况下在选择框中显式选择了任何选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11241012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com