0

我正在使用具有可选值的 html“表单”。我希望当我选择一个值时,页面会加载一个 URL,同时我会重置表单(选择默认值,即代码选中 =“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>

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

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

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

有些帮助???

4

1 回答 1

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>
于 2013-02-26T17:54:33.110 回答