Php Jquery-更改load()中使用的URL
我使用以下命令自动刷新div的内容Php Jquery-更改load()中使用的URL,php,jquery,load,Php,Jquery,Load,我使用以下命令自动刷新div的内容 $(document).ready(function() { $("#log").load("test.php?q=" + $('#sq').val()); var refreshId = setInterval(function() { $("#log").load("test.php?q=" + $('#sq').val()); }, 1000); $.ajaxSetup({ cache:
$(document).ready(function() {
$("#log").load("test.php?q=" + $('#sq').val());
var refreshId = setInterval(function() {
$("#log").load("test.php?q=" + $('#sq').val());
}, 1000);
$.ajaxSetup({ cache: false });
});
这似乎很有效。我有一个名为“sq”的文本字段,其中输入的任何内容都会被test.php搜索
我的页面还有两个其他表单字段。
一个复选框和另一个文本字段。该复选框具有id“chk”和文本字段“txt”
如果选中复选框并在文本字段中输入值,我想做的是更改load()使用的URL。显然,这还需要包括“sq”
有人能给我指出正确的方向吗
未勾选复选框的URL为:(是现在)
勾选复选框后,需要:
test.php?s=1&txt=VALUE_FROM_txt&q=VALUE_FROM_sq
然后test.php可以使用$\u请求来获得传递的值
我的网络盒只支持php4,因此这确实限制了我的使用
有人能给我指出正确的方向吗。谢谢您可以将URL保存在单独的变量中,并在复选框的更改事件中更新它
var url = "test.php?q=VALUE_FROM_sq"
$(document.body).on('change', '#chk', function (event) {
if ($(this).is(':checked')) {
url = "test.php?s=1&txt=VALUE_FROM_txt&q=VALUE_FROM_sq"
} else {
url = "test.php?q=VALUE_FROM_sq"
}
}
只需在代码中添加一些逻辑:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
var refreshId = setInterval(LoadLog, 1000);
LoadLog();
});
function LoadLog() {
var sq = $('#sq').val();
var text = $("#txt").val();
var url = "test.php?q=" + encodeURIComponent(sq);
if ($("#chk").is(":checked") && text.length > 0)
url += "&s=1&txt=" + encodeURIComponent(text);
$("#log").load(url);
}
谢谢,我试试这个。我需要使用编码器组件吗?我需要对test.php页面执行什么操作才能接收此信息?
encodeURIComponent
确保将正确的值传递给服务器,例如,即使是空格也可能会破坏URL并应进行编码。PHP将自动获取它,并知道如何正确解码它,您无需再做任何事情。
$(document).ready(function() {
$.ajaxSetup({ cache: false });
var refreshId = setInterval(LoadLog, 1000);
LoadLog();
});
function LoadLog() {
var sq = $('#sq').val();
var text = $("#txt").val();
var url = "test.php?q=" + encodeURIComponent(sq);
if ($("#chk").is(":checked") && text.length > 0)
url += "&s=1&txt=" + encodeURIComponent(text);
$("#log").load(url);
}