日期:2014-05-17  浏览次数:20611 次

php向html中js传值问题
PHP code

<form action="i_up.php" method="post" enctype="multipart/form-data" id="pform">
      <TABLE class=tab border=0 cellSpacing=5 cellPadding=5><!-- 状态 -->
        <TBODY>
        <TR>
          <TD class=hback_b width="25%">状态</TD>
          <TD class=hback><?php
        $strsql="SELECT * FROM zlove_user WHERE userid='$userids'";
        $result=mysql_query($strsql);
        $myrows=mysql_fetch_array($result); 
        if (is_null($myrows[userimg])){echo "还没上传形象照";}else{echo "已上传形象照";}
        if ($myrows[userimgflag]!="0"){if ($myrows[userimgflag]=="1"){$sh=1; echo " 审核中<input name=sh type=hidden id=sh value=$sh>";}else{echo " 已审核";}}
        ?>
          </TD></TR>
          <TD class=hback_b>选择照片 <SPAN class=f_red>*</SPAN></TD>
          <TD class=hback><iframe src="start.html" width="322" height="277" frameborder="0" scrolling="no"></iframe></TD></TR><!-- 上传按钮 --></TABLE>
          </FORM>



下面是start.html
HTML code

<script language="javascript" type="text/javascript">
function postChk(){
    if(sh==1){
    alert('形象照审核中,暂时不能更改!');
    return;
  }
</script>



怎么将$sh=1这个值,传到start.html中的js上,并做判断。谢谢各位了。
 

------解决方案--------------------
src="start.html?sh=1 
html中用写个函数postChk 用 document.location.search.length 就能接收到 ?sh=1
剩下的就是js处理这个字符串了。

------解决方案--------------------
PHP code
//$sh=1;
echo "<script type='text/javascript'>var sh = 1; </script>";

------解决方案--------------------
刚才没看清,既然已经输出了一个隐藏表单域,那就可以把$sh = 1;这行代码删掉了,修改js函数就行了(你贴出来的postChk()函数的定义存在两处错误。
JScript code
function postChk(){
    if (document.getElementById('sh').value == 1){ //获取id值为sh的隐藏域的值进行比较
    alert('形象照审核中,暂时不能更改!'); //后一个单引号是全角的
    return;
  }
} //漏掉一个花括号