Javascript 带有url的可重置表单

Javascript 带有url的可重置表单,javascript,html,forms,Javascript,Html,Forms,我在一个html“表单”中使用可选值。我希望当我选择一个值时,页面会加载一个URL,同时我会重置表单(选择默认值,即代码为selected=“selected”)的值) 我可以分别得到这两个结果。如果我试图使这些功能一起工作,页面加载只需一个功能(在桌面浏览器中工作,但我需要它们在移动设备中工作) 我需要,因为如果用户在选择一个值后,决定返回上一页,将找到所选的值,并且他不能再次选择它 我向您展示了代码,一个包含jquery,另一个不包含: ///////////////////////////

我在一个html“表单”中使用可选值。我希望当我选择一个值时,页面会加载一个URL,同时我会重置表单(选择默认值,即代码为selected=“selected”)的值)

我可以分别得到这两个结果。如果我试图使这些功能一起工作,页面加载只需一个功能(在桌面浏览器中工作,但我需要它们在移动设备中工作)

我需要,因为如果用户在选择一个值后,决定返回上一页,将找到所选的值,并且他不能再次选择它

我向您展示了代码,一个包含jquery,另一个不包含:

///////////////////////////////////////////////////jquery

<head>

<script type='text/javascript' src='jquery.min1.7.2.js'></script>

<SCRIPT LANGUAGE="Javascript">
$(function(){
// bind change event to select
$('#titolo').on('change', function () {
var url = $(this).val(); // get selected value
if (url) { // require a URL
this.selectedIndex = 0;
window.location = url; // redirect
}
return false;
});
});
</script>

</head>

<body>

<form name="contatto" id="contatto">
<SELECT name="titolo" size="1" id="titolo" style="WIDTH: 441px" LANGUAGE="javascript">
<OPTION selected="selected"></OPTION>
<OPTION value="www.ciao.it">01</OPTION>
<OPTION value="www.ciao1.it">02</OPTION>
<OPTION value="www.ciao2.it">>03</OPTION>
</SELECT>
</form>

</body>

$(函数(){
//绑定要选择的更改事件
$('titolo')。关于('change',函数(){
var url=$(this).val();//获取所选值
if(url){//需要一个url
此参数。selectedIndex=0;
window.location=url;//重定向
}
返回false;
});
});
01
02
>03
///////////////////////////////////////////////////////////没有

<head>

<SCRIPT LANGUAGE="Javascript">
function resetcampi() {
document.forms['contatto'].titolo.selectedIndex = 0;
}
</script>

</head>

<body>

<form name="contatto" id="contatto">
<SELECT name="titolo" size="1" id="titolo" style="WIDTH: 441px" LANGUAGE="javascript"
onchange="location.href=contatto.titolo.value; resetcampi()">
<OPTION selected="selected"></OPTION>
<OPTION value="www.ciao.it">01</OPTION>
<OPTION value="www.ciao1.it">02</OPTION>
<OPTION value="www.ciao2.it">>03</OPTION>
</SELECT>
</form>

</body>

函数resetcampi(){
document.forms['contatto'].titolo.selectedIndex=0;
}
01
02
>03
//////////////////////////////////////////////////////////


有些帮助???

有些浏览器将表单数据存储在缓存中,并用最后的数据自动填充表单。如果我是你,我会在页面加载时重置表单:

<script type="text/javascript" language="javascript">
   $(document).ready(function() {
      //Reset the form when you load the page
      resetForm();

      //Go to the selected URL when the user selects a url
      $('#titolo').change(function() {
         var url = $(this).val();
         if (url.length > 0) {
            window.location = url;
         }
      });
   });

   function resetForm() {
      $('#contatto').each(function() {
         this.reset();
      });
   }
</script>

$(文档).ready(函数(){
//加载页面时重置表单
resetForm();
//当用户选择URL时,转到所选URL
$('#titolo')。更改(函数(){
var url=$(this.val();
如果(url.length>0){
window.location=url;
}
});
});
函数resetForm(){
$('#contatto')。每个(函数(){
这是reset();
});
}

即使您重置了表单,一些浏览器仍将这些值保留在缓存中,因此仍会将其选中。如果我是你,我会在你进入页面时重置表单。问题不在于浏览器缓存。问题是页面无法在加载url之前快速重置表单。如果清除表单,不加载url,当我在手机中返回上一页时,页面不会重新加载,那么您应该获取url并将其存储在变量中。清除表单,然后重定向到存储的url。但问题是一些浏览器正在存储表单数据。以前有过这个问题,例如,在我在重定向前清除表单后,IE的一些版本仍然显示formdata。没有道理。但唯一的解决方案是在加载页面时清除它。试试看。我以前在这个问题上花了几个小时。