我有一个搜索文本框和一个重定向到文本框给定值的按钮。除了firefox 3之外它很好用,它完全忽略了这个功能。任何想法为什么以及如何解决它?我已经尝试过window.location而不是location.href,但它在所有主流浏览器中都能很好地运行,但是firefox。
我的代码:
<%=Html.TextBox("search", Html.Encode(ViewData["search"])) %>
<input type="button" onclick="location.href='<%= Url.Content("~/Authorized/Accounts/0/1/") %>'+search.value" value="Search" />
修改
这是生成的代码:
<input id="search" name="search" type="text" value="" />
<input type="button" onclick="window.location='/Authorized/Accounts/0/1/'+search.value" value="Search" />
答案 0 :(得分:1)
search.value
正在寻找一个名为“搜索”的JavaScript变量,而不是您的表单字段。
您应该使用document.getElementById('search').value
答案 1 :(得分:1)
<%=Html.TextBox("search", Html.Encode(ViewData["search"])) %>
<input type="button" onclick="location.href='<%= Url.Content("~/Authorized/Accounts/0/1/") %>'+document.getElementById('search').value;" value="Search" />
如果你正在使用jQuery:
<%=Html.TextBox("search", Html.Encode(ViewData["search"])) %>
<input type="button" onclick="location.href='<%= Url.Content("~/Authorized/Accounts/0/1/") %>'+$("#search").val();" value="Search" />
答案 2 :(得分:0)
我不确定为什么你的代码在FF3中不起作用,但我通过将域添加到URL的开头并删除前导斜杠来实现它。
因此,如果您可以添加域或在该位置使用相对路径,那么它应该可以工作。例如,生成的行可能如下所示:
<input type="button" onclick="window.location='http://www.example.com/Authorized/Accounts/0/1/'+search.value" value="Search" />