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