0

選択可能な値を持つhtml「フォーム」で作業しています。値を選択すると、ページにURLが読み込まれ、同時にフォームがリセットされます(デフォルト値、コードselected = "selected"を持つ値を選択します)。

2つの結果を別々に取得できます。これらを一緒に機能させようとすると、ページは1つの機能のみをロードします(デスクトップブラウザーでは機能しますが、モバイルでも機能する必要があります)

ユーザーが値を選択した後、前のページに戻ることにした場合、選択された値が見つかり、再度選択できないため、必要です。

コードを示します。1つはjqueryを使用し、もう1つは使用しません。

////////////////////////////////////////////////// / 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 に答える