Javascript 获取PHP URL的JS值

Javascript 获取PHP URL的JS值,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个从复选框客户端获取值的脚本,如下所示: var checkedValue = null; var inputElements = document.getElementsByClassName('checkbox'); for(var i=0; inputElements[i]; ++i){ if(inputElements[i].checked){ checkedValue = inputElements[i].value; break; } }

我有一个从复选框客户端获取值的脚本,如下所示:

var checkedValue = null; 
var inputElements = document.getElementsByClassName('checkbox');
for(var i=0; inputElements[i]; ++i){
  if(inputElements[i].checked){
       checkedValue = inputElements[i].value;
       break;
  }
}
echo "<a href='idmatch_process.php? answer="+checkedValue+"&totalcorrect=". urlencode($totalcorrect)  ."&escalation=". urlencode($escalation) ."&correctrule=".  urlencode($correctrule) ."&page=" . $next_page ."'>Next</a>";
以下是复选框:

<input id='cb10' name='answer[]' value='$correct' class='checkbox' type='checkbox'>

然后我有php代码来显示“下一步”按钮,在这里我对url编码变量,我需要在下一页上这样做:

var checkedValue = null; 
var inputElements = document.getElementsByClassName('checkbox');
for(var i=0; inputElements[i]; ++i){
  if(inputElements[i].checked){
       checkedValue = inputElements[i].value;
       break;
  }
}
echo "<a href='idmatch_process.php? answer="+checkedValue+"&totalcorrect=". urlencode($totalcorrect)  ."&escalation=". urlencode($escalation) ."&correctrule=".  urlencode($correctrule) ."&page=" . $next_page ."'>Next</a>";
echo”“;

我需要“答案”来等于检查值,但我似乎无法让它工作。有什么想法吗

Sinply为锚定标记分配一个id,并执行以下操作:

var vars = [], hash;
var url = document.getElementById('idOfYourAnchor').getAttribute('href');

var hashes = url.slice(url.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
    hash = hashes[i].split('=');
    vars[hash[0]] = hash[1];
}
console.log(vars); 
var-vars=[],散列;
var url=document.getElementById('idOfYourAnchor').getAttribute('href');
var hashes=url.slice(url.indexOf('?'))+1.split('&');
for(var i=0;i

这将为您提供一个包含所有变量及其值的数组,现在您可以更改复选框的值并为锚定构建一个新的url。

请为锚定标记分配一个id,并执行以下操作:

var vars = [], hash;
var url = document.getElementById('idOfYourAnchor').getAttribute('href');

var hashes = url.slice(url.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
    hash = hashes[i].split('=');
    vars[hash[0]] = hash[1];
}
console.log(vars); 
var-vars=[],散列;
var url=document.getElementById('idOfYourAnchor').getAttribute('href');
var hashes=url.slice(url.indexOf('?'))+1.split('&');
for(var i=0;i

这将为您提供一个包含所有变量及其值的数组,现在,您可以更改复选框的值,并为锚创建一个新的url。

您从使用javascript concat
+
切换到PHP连接
如果希望在页面加载后更改href,则必须使用js更新href。您的链接中需要js。。。在“下一步”按钮的“onclick”上调用函数。在这个函数中,您可以检查值并使用window.location重定向页面。正如Michael Lane在回答中所建议的那样,如果您只需要一个答案,并且只需要对所有单选按钮使用名称“answer”,则应该使用单选按钮而不是复选框。如果这样做,您可以通过将锚定标记更改为submit
input
按钮并将所有内容包装到表单中来跳过javascript。您还可以将其他php变量作为值添加到隐藏的
input
element中。您从使用javascript concat
+
切换到php连接
如果希望在页面加载后更改href,您必须使用js更新href。您的链接中需要js。。。在“下一步”按钮的“onclick”上调用函数。在这个函数中,您可以检查值并使用window.location重定向页面。正如Michael Lane在回答中所建议的那样,如果您只需要一个答案,并且只需要对所有单选按钮使用名称“answer”,则应该使用单选按钮而不是复选框。如果这样做,您可以通过将锚定标记更改为submit
input
按钮并将所有内容包装到表单中来跳过javascript。您还可以将其他php变量作为值添加到隐藏的
input
元素中