在PHP中重新加载页面后检查单选按钮

时间:2013-10-30 15:13:13

标签: php radio-button

我试图在10页中对api调用的结果进行分页(就像ebay或google一样)。我创建了10个单选按钮来选择我想要显示的页面。我的问题是,点击它后我无法选择单选按钮。更具体地说,我这样做了:

$results .= "<FORM ACTION=\"" . $_SERVER['PHP_SELF'] . "\" METHOD=\"POST\"> \n";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"1\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",1); >1";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"2\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",2);>2";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"3\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",3);>3";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"4\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",4);>4";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"5\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",5);>5";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"6\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",6);>6";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"7\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",7);>7";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"8\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",8);>8";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"9\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",9);>9";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"10\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",10);>10";
        $results .= "</FORM> \n";

我定义了这样的检查功能:

function check($opt , $value){
    if($opt==$value)return "checked";
    else return '';
}

但结果是所有单选按钮都没有被选中。我点击一个按钮,页面重新加载正确的结果,但按钮没有被选中。有没有更简单的方法呢?

1 个答案:

答案 0 :(得分:0)

您的串联将您的函数名称包含在字符串中,因此它永远不会触发。您需要将函数调用移出字符串

 $results .= "<INPUT........".check($_SESSION['PageNumber'],1)".; >1";