从表单提交自定义查询字符串

时间:2013-02-05 02:28:22

标签: javascript jquery html

我有一个表单,当我提交它时,它会将我带到网址www.domain.com/search/?maxprice=10000000,但我想要它做的是带我到一个自定义网址例如www.domain.com/search/maxprice_10000000 /

我发现这个javascript代码是为了允许自定义网址,方法是停止表单使用event.preventDefault()执行默认操作但是这不是正常工作或者首先没有加载

这是我的代码:

    <script type="text/javascript">
    $(document).ready(function() {
    $("#propertysearch").submit(function(event) {
        event.preventDefault();

        window.location.href = "/"; //whatever i want but the problem is this doesnt seem to execute
    });
});
</script>
    <form id="propertysearch" action="/search" method="GET">

<p>
        <select id="maxprice" name="maxprice" style="width:47%;">
            <option value="10000000">Max Price...</option>
                <option disabled="disabled" value="10000000">- - - - - - - - - - - - - - - - - - - - - - -</option>
                <br />

<option value="100000">?100,000</option>
<option value="150000">?150,000</option>
<option value="200000">?200,000</option>
<option value="250000">?250,000</option>

        </select></p>

        <p><a href="javascript:document.forms['propertysearch'].submit();" title="Find a Property">Find a Property Now</a> &gt;</p>
        </form>

任何帮助将不胜感激!

更新我现在使用<input type="submit" value="Submit">代替<a href="javascript:document.forms['propertysearch'].submit();" title="Find a Property">Find a Property Now</a>

让代码正常工作

所以如何更改我的<a></a>以使其正常工作

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您的示例中的代码使用的是jQuery。要么包含jQuery,要么使用非jQuery解决方案,如下所示:

document.getElementById('propertytype').addEventListener('submit', function (event) {
    event.preventDefault();

    window.location.href = "/"; //whatever you want
});

请注意,上述内容不是跨浏览器兼容的;您还必须使用attachEvent


要使用<a>,我只想绑定到click事件:

$("#propertysearch a").on('click', function (e) {
    event.preventDefault();

    //submission code
});

//pre jQuery 1.7
$("#propertysearch a").bind('click', function (e) {

答案 1 :(得分:0)

删除代码:href =“javascript:document.forms ['propertysearch']。submit();”从您的代码,所以它应该是这样的:<p><a href='#' title="Find a Property">Find a Property Now</a></p>