我使用JavaScript(确切地说是Google Apps脚本),而且我在使用对象时遇到了一些问题。
我有一个var,formData,它充满了从HTML表单传回来的数据。我可以愉快地访问这样的值;展览是选择元素的名称;
formData.exhibitions.value
但我想改变" *"的价值。到" ALL"。我已经尝试了以下所有内容;
formData.exhibitions.value = "ALL"
formData["exhibitions"] = "ALL"
formData.element["exhibitons"] = "ALL"
以及上述的其他一些版本,但没有改变价值。
编辑 - 缩减代码,HTML表单
<form>
Exhibition search <select id="exhibitionList" name ="exhibition">
<option value="*">All</option>
<option value="shoes">shoes</option>
</select>
<input type = "button" value ="Item Search" onclick="printSearch(this.form)"/>
</form>
,功能是
printSearch(formData){
if(formData.exhibition.value != "*"){
whereData.push(exhibition+"='"+formData.exhibition.value+"'");
}else{formData.set('exhibition','ALL');}
}
一切正常我似乎无法改变ELSE语句之后的值。
答案 0 :(得分:0)
您尝试做的事情无法奏效。 <select>
的值必须是其<option>
元素之一的值。这是因为该值实际存储在select selectedIndex
属性中。当您分配到formData.exhibition.value
时,它会在选项中搜索其值与此匹配的选项,然后将formData.exhibition.selectedIndex
设置为其位置。如果没有匹配,则会失败,并且不会更改该值。
由于您没有<option value="ALL">
元素,因此尝试将值设置为必须失败。