Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery-更改load()中使用的URL_Php_Jquery_Load - Fatal编程技术网

Php Jquery-更改load()中使用的URL

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:

我使用以下命令自动刷新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: 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);
}