Javascript 从多个选择列表中删除重复值时,formemail上的数据丢失
我正在使用上面提供的脚本示例,它在输入页面上工作得非常好Javascript 从多个选择列表中删除重复值时,formemail上的数据丢失,javascript,select,input,html-select,onchange,Javascript,Select,Input,Html Select,Onchange,我正在使用上面提供的脚本示例,它在输入页面上工作得非常好 <script> function disableValue(str){ var dis1=document.getElementsByTagName("option"); for(var i=0;i<dis1.length;i++){ if(dis1[i].value==str){
<script>
function disableValue(str){
var dis1=document.getElementsByTagName("option");
for(var i=0;i<dis1.length;i++){
if(dis1[i].value==str){
dis1[i].disabled=true;
}
}
return true;
}
</script>
但是,当我插入脚本以消除重复值时,相同的用户输入结果如下:
1. contest = NFL Week 4 (18 Games)
2. emailaddress = boneman@unforgettable.com
3. game01 = Eagles
4. game02 = USC Trojans
5. game03 = Virginia Cavaliers
6. game04 = at Oregon State Beavers
出于某种原因,该脚本不仅从其他选择列表中删除了输入号码,还从我的formemail中删除了该号码
我的提交代码是:
<input type="submit" name="submit" value="Print and Submit Football Pool" onclick = window.print();>
<input type="reset" name="reset" value="Reset" >
<input type="hidden" name="thankyou_url" value="http://www.xxxxxxx/Thank You for Your
Entry.html">
是否有办法保留formemail上的输入数据选择,同时删除其他选择列表中的选定值
谢谢您好,我猜由于该选项已禁用,您用于从表单中取出数据的原因是忽略了禁用字段 所以,正如我现在看到的,你必须选择
document.getElementById("myDIV").classList.add("mystyle");
或
如果我需要你的代码更直接的方法
我认为您可以用以下内容替换代码中的dispabled=true:
document.getElementById('answer-12702744').style.display = 'none;'
谢谢,一旦我把禁用改为隐藏,它就工作得很好!我注意到的一件事是,如果用户改变了对选择的想法,现在隐藏的值不会返回列表。有没有一种方法可以在一个值被隐藏后将其取消隐藏?嗯,是的,我猜快速而肮脏的方法是取消全部选择以取消隐藏该选项中的所有其他值。与if(选中隐藏)类似,如果未选中则删除隐藏。我必须承认,应该有一个更好的方法来做到这一点,这种类型的写作只会导致进一步的麻烦。
document.getElementById("myDIV").classList.add("mystyle");
document.getElementById('answer-12702744').style.display = 'none;'