如何在重定向后检查单选按钮

时间:2013-09-04 13:38:30

标签: javascript

如何在重定向到新网页后检查单选按钮?

我试过这个剧本:

<script>
    function AffStatus(choix) {
        document.getElementById(choix).checked = true;
        document.location.href = "PAGELINK?tri="+ choix;
    }
</script>

使用这些单选按钮

Sort by : <input type="radio" name="choice" id="ddc" value="ddc"
                on="AffStatus('ddc')" checked />Activity
            <input type="radio" name="choice" id="di" value="di"
                onclick="AffStatus('di')" />Date  <input
                type="radio" name="choice" id="nm" value="nm"
                onclick="AffStatus('nm')" />NBM <input
                type="radio" name="choice" id="p" value="p" onclick="AffStatus('p')" />Pseudo
            (A-Z)

PS:我正在将用户重定向到相同的显示页面。

编辑:我使用Eclipse而不是PHP编写Java EE。

但它对我不起作用。我认为我写了一个错误的脚本,我无法解决它。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

实际上,不需要单独的代码来检查具有相同名称的单选按钮。它将自动取消选中其他并检查新的。

我发现你有一个错误=“AffStatus('ddc')”而不是onclick =“AffStatus('ddc')”

我想知道你为什么不使用Jquery,

<强>编辑:

因为您想要在刷新后选择收音机并且您不使用后端代码来获取URL参数'tri',此功能将帮助您..

function AffStatus(choix) {
    document.getElementById(choix).checked = true;
    document.location.href = "PAGELINK?tri="+ choix;
}

window.onload=function(){
    var selected_radio = getURLParameter('tri');
    console.log(selected_radio)
    document.getElementById(selected_radio).checked = true;
}

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

答案 1 :(得分:0)

使用此功能从链接中获取tri

功能:

var RequestQuerystring;
(window.onpopstate = function () {
var match,
    pl = /\+/g,  // Regex for replacing addition symbol with a space
    search = /([^&=]+)=?([^&]*)/g,
    decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
    query = window.location.search.substring(1);

RequestQuerystring = {};
while (match = search.exec(query))
    RequestQuerystring[decode(match[1])] = decode(match[2]);
})();

用法:

var myTri = RequestQuerystring.tri // your tri from the link 

然后将myTri传递给您的Checked