0

我在使用我的网站的 URL 传递变量时遇到问题。

这是代码:

    function sort(form) {   
        var Page = "?";

        var iweek = form.listWeeks.SelectedIndex;
        var week = form.listWeeks.options[iweek].value;

        var month = form.listMonth.selectedIndex+1; 

        var iyear = form.listYear.selectedIndex;
        var year = form.listYear.options[iyear].value;  

        var URL = Page + "week=" + week + "&month=" + month + "&year=" + year;

        window.location = URL;  

        return false;
    }

当我单击引用此功能的提交按钮时,网址更改为:

http://localhost/test.php?listWeeks=1&listMonth=August&listYear=2010&Submit=Select

但我想将网址更改为:

http://localhost/test.php?week=1&month=8&year=2010

奇怪的是,当我将代码更改为:

 function sort(form) {

        var Page = "?";

        //var iweek = form.listWeeks.SelectedIndex;
        //var week = form.listWeeks.options[iweek].value;

        var month = form.listMonth.selectedIndex+1; 

        var iyear = form.listYear.selectedIndex;
        var year = form.listYear.options[iyear].value;  

        var URL = Page + "month=" + month + "&year=" + year;

        window.location = URL;  

        return false;
    }

它有效..谁能告诉我问题可能是什么?

谢谢!

4

2 回答 2

1

您可能需要在每个标签中使用value属性。<option>例如

<select name="listMonth">
  <option value="1">January</option>
  <option value="2">February</option>
  ...
</select>

您也可以更改<select name="listMonth"><select name="month">.

这应该按预期工作(更新):

<form method="get" action="test.php">
   <select name="month">
     <option value="1">January</option>
     <option value="2">February</option>
     ...
   </select>
   <input type="submit" />
</form>

那时不需要 JavaScript 代码。

于 2013-08-01T11:50:38.357 回答
0

您注释掉的两行代码中的某些内容引发了错误。如果没有看到更多上下文(例如表格),就不可能说到底为什么。

这会导致 JavaScript 崩溃并且表单提交正常。

我将通过完全废弃 JS 并name从表单控件中删除您不希望出现在提交的数据中的属性来处理这个问题。

于 2013-08-01T12:14:23.697 回答