【问题标题】:redirect on submit button depending on option根据选项重定向提交按钮
【发布时间】:2013-07-06 00:20:19
【问题描述】:

所以我正在编写一个带有下拉列表和提交按钮的代码。在我的 CaseType.jsp 文件中看起来像这样:

<title>Case Type Selection</title>
<script type="text/javascript" src="CaseType.js"></script>
<script type="text/javascript" src="jquery-1.10.1.js"></script>

</head>
<body>
<center>
Please select the case that applies
<br><br><br>


<form action="">
<select id ="caseType" name="caseType">
<option value="PromoAttr">Promotion Attribute Change</option>
<option value="PromoOrder">Promotion Approval Order Change</option>
<option value="DefAppr">Change Default Approver on Promotion</option>
<option value=""></option>
</select>
<br><button onclick="caseSelect()" align="right">Submit</button></form>
<br><a href="C:\Users\apay\workspace\PDFproj\WebContent\Help.jsp">Help</a>
</form>

我想要做的是单击提交按钮并获取选择了哪个选项的值,然后根据按钮重定向到不同的 JSP 页面。在搜索这些问题时,我只找到了使用 PHP 页面的解决方案。并且 window.location 或 document.location 似乎对我不起作用。这是我的 caseType 的 .js 文件:

function caseSelect()
{
    var select = document.getElementById('caseType').value;
    switch(select)
    {
    case "PromoAttr":
      //open up form for Promotion Attribute Changes
        alert("Promo attr works");
        document.location.href="http://localhost:8080/PDFproj/generalCase.jsp";

      break;
    case "PromoOrder":
      //open up form for Promotion approval order change
        alert("Promo order works");
        document.location.href="http://localhost:8080/PDFproj/generalCase.jsp";
      break;
    case "DefAppr":
      //open up form for Changing default approver on promotion
        alert("Default Approval works");
        document.location.href="http://localhost:8080/PDFproj/generalCase.jsp";
          break;
    default:


    }
    return false;

}

现在它们都指向一个通用案例页面,因为我还没有收到每个案例表单的详细信息,所以这只是一个原型。但最终,他们都会有自己单独的表格需要填写和提交。

请告诉我该怎么做。我对 javascript 或 jquery 答案感兴趣。谢谢。

【问题讨论】:

  • 尝试使用window.location = urlwindow.navigate(url)

标签: javascript jquery redirect submit


【解决方案1】:

为了从一个页面获取一个值到另一个页面,您可以将该值作为查询字符串添加到 url,一旦您到达该页面,让您的 javascript 从 url 中获取该值并将其解析到您的代码中.设置参数如下:

case "PromoAttr":
    alert("Promo attr works");
    var url = "http://localhost:8080/PDFproj/generalCase.jsp";

    location.href = url + "?selectedVal=PromoAttr";
    break;
//Repeat for other cases, substituting "PromoAttr" for the selected value.

然后在您的下一页中,您可以检查是否有任何查询字符串附加到您的 url,如果有,请将其解析并按照您的意愿使用。

【讨论】:

  • 虽然您的回答很有帮助,但这并不是我想要的。但我想我可能会编辑你的答案,给我我想要的东西。 generalCase 只是一个临时案例,但我很快就会有不同案例的选项导致不同的页面。那么我是否只需将 var url 设为 /PDFproj/ 的 url,然后将 case 选项保存为变量并稍后添加?
  • 是的,没错。这实际上取决于您将如何需要选择的选项。如果您只是根据所选选项重定向到不同的 url,那么您只需在 /PDFproj/ 之后更改每种情况下的 url,就像您说的那样。而要重定向,就是 location.href = url + "page-to-go-to";
猜你喜欢
  • 2021-08-09
  • 2014-10-09
  • 1970-01-01
  • 2018-03-14
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多