San*_*nda 5 javascript forms jquery get jquery-plugins
假设我的页面中有一个简单的表单,如下所示:
<form action="/properties/search" method="GET" id="form_search">
<p>
<label for="price">Min price:</label>
<input type="text" name="min_price" id="min_price">
</p>
<p>
<label for="price">Max price:</label>
<input type="text" name="max_price" id="max_price">
</p>
<p>
<input type="submit">
</p>
</form>
Run Code Online (Sandbox Code Playgroud)
当我提交表单时,我有以下网址:
HTTP://.../properties/search MIN_PRICE = 100000&MAX_PRICE = 200000
我想更改此网址:
HTTP://.../properties/search价格= 100000,200000
为此,我使用JQuery和JQuery查询字符串插件:
$(document).ready(function() {
$("#form_search").submit(function() {
var querystring = rewrite_interval_qstring();
// querystring equals "?price=100000,200000" -> exactly what I want !
// ???
});
});
Run Code Online (Sandbox Code Playgroud)
如何更改(评论"???")提交网址?我已单独测试了以下说明,但它不起作用.
window.location = querystring;
window.location.href = querystring;
window.location.search = querystring;
Run Code Online (Sandbox Code Playgroud)
你快到了.拦截提交事件(正如您所做),提取最小值和最大值,构建您的URL并设置window.location.href
$(document).ready(function() {
$("#form_search").submit(function(event) {
event.preventDefault();
$this = $(this);
// var url = rewrite_interval_qstring();
var min_price = $('#min_price').val();
var max_price = $('#max_price').val();
var url = $this.attr('action') + '?price=' + min_price + ',' + max_price;
window.location.href = url;
});
});
Run Code Online (Sandbox Code Playgroud)
您需要防止发生默认提交操作
$(document).ready(function() {
$("#form_search").submit(function(event) {
event.preventDefault(); // <-- add this
var querystring = rewrite_interval_qstring();
// querystring equals "?price=100000,200000" -> exactly what I want !
window.location.href = querystring; // <-- this should work.
});
});
Run Code Online (Sandbox Code Playgroud)