原程序是每当输入的计数值为n时,自动跳转到打印页面。现在新增一个input,需求功能是当点击这个“打印输出”按钮时,即不要计数值为n时,跳转到其他的打印页面。现在改了程序,点击该按钮时,不能跳转到对应页面,而且一直处于页面刷新状态。现在还是有些问题,麻烦大虾们看看:<?php    if($action == '')
    {
        echo '<div id="panelTitle">新增数据</div><br />';
        echo '<form name="formEditItem" method="post" action="addtest.php?action=add">
                <table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF">
                <tr>
                    <th bgColor=#cedcff height=20 align="left">&nbsp;&nbsp;Item</th>
                    <th bgColor=#cedcff height=20 align="left">&nbsp;&nbsp;Value</th>
                </tr>';
        $sql = 'SELECT * FROM `'.$t.'` where 1';
//        echo $sql;
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result,MYSQL_NUM);        for ($i=4; $i < mysql_num_fields($result)-1; $i++)
        {
        echo '<tr class="cells" onmouseover="this.className=\'cells2\'" onmouseout="this.className=\'cells\'">';
        if($i==4)
        echo '<td width=200 align="left">'."品名".'</td>';
        if($i==5)
        echo '<td width=200 align="left">'."Label_2D_Code".'</td>';
        echo '<td align="left"> <input type="text" value="" name="'.mysql_field_name($result, $i).'" size="80" onMouseOver="this.focus()" /></td>';
        echo '</tr>';
        
        }
        echo '</table><br />
            <input name="btnEditOK" type="submit" title="Submit" class="btnbig" value="提交" onclick="javascript:submit();" onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />
            <input name="btnEditOK" type="button" title="Submit" class="btnbig" value="打印输出" onClick="javascript:open();" onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />
            <input name="btnEditReset" type="reset" title="Drop and Reset" class="btnbig" value="重置"  onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" /></form><br />';    
        
    }
    
    if($action == 'add')
    {
        $n = 16;
        $date = date('Y-m-d H:i:s');
        $date2 = date('Y-m-d');
        $time = substr(date('ymd'), 1);
        $lotno = preg_replace("/(\d{1})(\d{2})(\d{2})/e", "'$1'.($2<'10'?'$2':chr($2+78)).'$3'",substr(date('ymd'), 1));
//        echo $packageno;
        $sql = "INSERT INTO  `".$t."` (`username`,`packageno`,`lotno`,`description`,`barcode`,`date`)";
        $sql .= "VALUES ('".$_SESSION['barcode_Account']."','".$packageno."','".$lotno."','".$_POST['description']."','".$_POST['barcode']."','".$date."')";
//        echo $sql;
        if($_POST['barcode'] == "")
        {
            echo "<Script language='JavaScript'> alert('请确保数据不为空!');</Script>";
            echo "<script>location.href='addtest.php'</script>";
            
        }
        else
        {
            $result = mysql_query($sql);
            
            $sql2 = "select * from `barcode_2d` where `date` LIKE '".$date2."%'";
//            echo $sql2;
            $result2 = mysql_query($sql2);
            $num_rows = mysql_num_rows($result2);
//            echo $num_rows.'<br />';
            $packageno = $_POST['description'].date('ymd');
            $num_rows > 0 ? $packageno .= str_pad(ceil($num_rows / $n), 3, '0', STR_PAD_LEFT) : $packageno .= '001';
            $sql = "UPDATE `".$t."` SET `packageno` = '".$packageno."' WHERE `date`= '".$date."' ";
//            echo $sql;
            $result = mysql_query($sql);
            if(($num_rows % 16) == 0)
            {
             echo "<Script language='JavaScript'> alert('扫描个数已满16,转向打印页面!');</Script>";
             echo '&nbsp;&nbsp;<a href="print.php" target="_blank"><font color="blue"><strong>>> 打印条形码</strong></font></a><br /><br />';
             echo '<input name="btnGoBack" type="button" title="Drop and Go Back" onClick="javascript:history.back();" class="btnbig" value="返回"   onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />';
            }
            else
            {
             echo "<Script language='JavaScript'> alert('已成功!请继续,加油!');</Script>";
             echo "<script>location.href='addtest.php'</script>";
            }
        }
    }
    
    
?>
<script language="javascript"> 
fuction open()

  window.location.href= "print_1.php"; 

</script> 

解决方案 »

  1.   

    onclick="javascript:window.location='print_1.php'"
    别触发函数,直接跳转试试。
      

  2.   

    那你检查你代码。是数据库没连接成功呢?还是SQL语句有问题。
      

  3.   

    现已修改代码,但是这个逻辑思路应该是如何,望大虾指教!程序需求:在原程序加入打印输出功能,就是点击按钮就能提交数据并跳转到打印页面,无需等待n=16时自动跳转到打印页面,原程序的功能保留(原程序当录入结果为16时,自动跳转到打印页面。)请问下思路。<?php if($action == '')
    {
    echo '<div id="panelTitle">新增数据</div><br />';
    echo '<form name="formEditItem" method="post" action="addtest.php?action=add">
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF">
    <tr>
    <th bgColor=#cedcff height=20 align="left">&nbsp;&nbsp;Item</th>
    <th bgColor=#cedcff height=20 align="left">&nbsp;&nbsp;Value</th>
    </tr>';
    $sql = 'SELECT * FROM `'.$t.'` where 1';
    // echo $sql;
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result,MYSQL_NUM); for ($i=4; $i < mysql_num_fields($result)-1; $i++)
    {
    echo '<tr class="cells" onmouseover="this.className=\'cells2\'" onmouseout="this.className=\'cells\'">';
    if($i==4)
    echo '<td width=200 align="left">'."品名".'</td>';
    if($i==5)
    echo '<td width=200 align="left">'."Label_2D_Code".'</td>';
    echo '<td align="left"> <input type="text" value="" name="'.mysql_field_name($result, $i).'" size="80" onMouseOver="this.focus()" /></td>';
    echo '</tr>';

    }
    echo '</table><br />
    <input name="btnEditOK" type="submit" title="Submit" class="btnbig" value="提交" onclick="javascript:submit();" onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />
    <input name="change" type="button" title="Submit" class="btnbig" value="打印输出" onclick="javascript:submit();" onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />
    <input name="btnEditReset" type="reset" title="Drop and Reset" class="btnbig" value="重置"  onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" /></form><br />';
    }

    if($action == 'add')
    {
    $n = 16;
    $date = date('Y-m-d H:i:s');
    $date2 = date('Y-m-d');
    $time = substr(date('ymd'), 1);
    $lotno = preg_replace("/(\d{1})(\d{2})(\d{2})/e", "'$1'.($2<'10'?'$2':chr($2+78)).'$3'",substr(date('ymd'), 1));
    // echo $packageno;
    $sql = "INSERT INTO  `".$t."` (`username`,`packageno`,`lotno`,`description`,`barcode`,`date`)";
    $sql .= "VALUES ('".$_SESSION['barcode_Account']."','".$packageno."','".$lotno."','".$_POST['description']."','".$_POST['barcode']."','".$date."')";
    // echo $sql;
    if($_POST['barcode'] == "")
    {
    echo "<Script language='JavaScript'> alert('请确保数据不为空!');</Script>";
    echo "<script>location.href='addtest.php'</script>";

    }
    else
    {
    $result = mysql_query($sql);

    $sql2 = "select * from `barcode_2d` where `date` LIKE '".$date2."%'";
    // echo $sql2;
    $result2 = mysql_query($sql2);
    $num_rows = mysql_num_rows($result2);
    // echo $num_rows.'<br />';
    $packageno = $_POST['description'].date('ymd');
    $num_rows > 0 ? $packageno .= str_pad(ceil($num_rows / $n), 3, '0', STR_PAD_LEFT) : $packageno .= '001';
    $sql = "UPDATE `".$t."` SET `packageno` = '".$packageno."' WHERE `date`= '".$date."' ";
    // echo $sql;
    $result = mysql_query($sql);
    if(($num_rows % 16) == 0)
    {
     echo "<Script language='JavaScript'> alert('扫描个数已满16,转向打印页面!');</Script>";
     echo '&nbsp;&nbsp;<a href="print.php" target="_blank"><font color="blue"><strong>>> 打印条形码</strong></font></a><br /><br />';
     echo '<input name="btnGoBack" type="button" title="Drop and Go Back" onClick="javascript:history.back();" class="btnbig" value="返回"   onmouseover="this.className=\'btnbig_over\'" onMouseOut="this.className=\'btnbig\'" onMouseDown="this.className=\'btnbig_down\'" onMouseUp="this.className=\'btnbig\'" />';
    }
    else if($_POST['change']!= 0)
    {
    echo "<Script language='JavaScript'> alert('转入打印页面');</Script>";
    echo "<script>location.href='print_1.php'</script>";
    }
    else
    {
     echo "<Script language='JavaScript'> alert('已成功!请继续,加油!');</Script>";
     echo "<script>location.href='addtest.php'</script>";
    }
    }
    }


    ?>
    <script language="javascript"> 
    fuction sx()

      window.location.href= "print_1.php"; 

    </script>