大家好,我是个php新手
最近在修改dokuwiki的代码
遇到一个问题在一个php页面中,我生成了一个form:
    $renderer->doc .= '<div class="addnewpage_form" id="addnewpage_form" align="left">';
    $renderer->doc .= '<form name="editform" id="editform" method="post" action="" accept-charset="'.$lang['encoding'].'" onsubmit="setName();setTaginfo();return true;">';
    $renderer->doc .= $cmb;
    $renderer->doc .= '<input class="edit" type="text" name="title" id="addnewpage_title" size="20" maxlength="255" tabindex="2" />';
$renderer->doc .= '<input type="hidden" name="do" id="do" value="edit" />';
$renderer->doc .= '<input class="button" type="submit" value="'.((@$this->getLang('okbutton'))?$this->getLang('okbutton'):'ok').'" tabindex="3" />';
    $renderer->doc .= '<br/>';
    $renderer->doc .='<p>IAGIO</p>';
    $renderer->doc .='<input type="checkbox" id="IAGIO" name="IAGIO" value="IAGIO">';
    $renderer->doc .=IAGIO;
//wang.yu added end
    $renderer->doc .= '</form>';
    $renderer->doc .= '</div>';
其中的$renderer->doc .不用关心,是dokuwiki的类中要求的现在在setTaginfo()这里,我希望传一个php文件中的参数进去
如$taginfo然后在script.js内容如下:
/*USE : UTF8*/
function setName() {
document.getElementById("editform").setAttribute("action","?id="+'KB:'+document.getElementById('np_cat').value+':'+document.getElementById('addnewpage_title').value+':index');
}function setTaginfo(info) {
     在这里希望接收到$taginfo变量,如果IAGIO的checkbox选中,则让$taginfo = “IAGIO”
}请

解决方案 »

  1.   

    $renderer->doc .= '<div class="addnewpage_form" id="addnewpage_form" align="left">';
    $renderer->doc .= '<form name="editform" id="editform" method="post" action="" accept-charset="'.$lang['encoding'].'" onsubmit="setName();setTaginfo(" . $taginfo . ");return true;">';
    $renderer->doc .= $cmb;
    $renderer->doc .= '<input class="edit" type="text" name="title" id="addnewpage_title" size="20" maxlength="255" tabindex="2" />';
    $renderer->doc .= '<input type="hidden" name="do" id="do" value="edit" />';
    $renderer->doc .= '<input class="button" type="submit" value="'.((@$this->getLang('okbutton'))?$this->getLang('okbutton'):'ok').'" tabindex="3" />';
    $renderer->doc .= '<br/>';
    $renderer->doc .='<p>IAGIO</p>';
    $renderer->doc .='<input type="checkbox" id="IAGIO" name="IAGIO" value="IAGIO">';
    $renderer->doc .=IAGIO;
    //wang.yu added end
    $renderer->doc .= '</form>';
    $renderer->doc .= '</div>';
      

  2.   

    $renderer->doc .= '<div class="addnewpage_form" id="addnewpage_form" align="left">';
    $renderer->doc .= '<form name="editform" id="editform" method="post" action="" accept-charset="'.$lang['encoding'].'" onsubmit="setName();setTaginfo( '. $taginfo .');return true;">';
    $renderer->doc .= $cmb;
    $renderer->doc .= '<input class="edit" type="text" name="title" id="addnewpage_title" size="20" maxlength="255" tabindex="2" />';
    $renderer->doc .= '<input type="hidden" name="do" id="do" value="edit" />';
    $renderer->doc .= '<input class="button" type="submit" value="'.((@$this->getLang('okbutton'))?$this->getLang('okbutton'):'ok').'" tabindex="3" />';
    $renderer->doc .= '<br/>';
    $renderer->doc .='<p>IAGIO</p>';
    $renderer->doc .='<input type="checkbox" id="IAGIO" name="IAGIO" value="IAGIO">';
    $renderer->doc .=IAGIO;
    //wang.yu added end
    $renderer->doc .= '</form>';
    $renderer->doc .= '</div>';
    是不是这个意思
      

  3.   

    谢谢
    实验了一下,好像还是没有起到作用php中如您提到的:

    ……
     $renderer->doc .= '<form name="editform" id="editform" method="post" action="" accept-charset="'.$lang['encoding'].'" onsubmit="setName();setTaginfo( '.$taginfo.');return true;">';
    echo $taginfo;
    在js端写的是:
    function setTaginfo(info) {
    info = "BBB";
    }但是得到的taginfo并没有变
      

  4.   

    我想是不是js执行的时候已经走过了php这边的函数所以打印echo $taginfo;在js执行之前?