1

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

我发现这个 javascript 代码旨在通过使用阻止表单执行其默认操作来允许自定义 urlevent.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>以使其工作

谢谢你的帮助

4

2 回答 2

2

您示例中的代码使用 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) {
于 2013-02-05T02:32:55.153 回答
0

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

于 2013-02-05T02:51:19.047 回答