带网址的可重置表单

时间:2013-02-26 17:46:58

标签: javascript html forms

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

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

我需要,因为如果用户在选择值后决定在上一页返回,则会找到所选的值,并且他无法再次选择

我给你看了代码,一个是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>

/////////////////////////////////////////////// ////////////没有

<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>

/////////////////////////////////////////////// ///////////

有些帮助???

1 个答案:

答案 0 :(得分:0)

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

<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>