自动提交php表单

时间:2014-07-31 07:59:13

标签: javascript php forms post submit

我想定期在一段时间后提交一份表格。 我尝试过如下。

<script language="JavaScript">  

function fncAutoSubmitForm()
{
    //alert('test alert');
    alert("B : "+document.getElementById('myform').id);     
    document.getElementById('myform').submit();     
    alert("A : "+document.getElementById('myform').id);
    setTimeout("fncAutoSubmitForm();",5000);}

</script>

displayPage.php代码如下

<body onload="fncAutoSubmitForm();">

<form id="myform" name="myform" action="code.php" method="post"> some controls </form> </body>

这里,&#34; displayPage.php&#34;将页面提交给&#34; code.php&#34;
&#34; code.php&#34;执行所需的操作并重定向到&#34; displayPage.php&#34;

当我不使用自动提交时,它工作正常。即fncAutoSubmitForm()函数
但是当我使用fncAutoSubmitForm()&#34; displayPage.php&#34;消失

这是实际代码

<form action="code.php" method="post" id="myform" name="myform" onload='setGenLeadId();'>                                   

                         

        <tr><td colspan="2"><?php if($row1['lead_call_type']=="C"){echo"<font color=red>CALLBACK Lead</font>";}?></td>
         <td  align = "right"><strong>Lead Id :</strong> </td>
        <!--<td><b><font color="red"></font>Reference Number</b></td>-->

        <td  align="left"><?php echo "" . $row1['lead_id'] ."";?></td>          
        </tr>

        <tr>
            <td align="right" ><b>Name :</b></td>
            <td  align="left"><input name="custname" id="custname" class="textbox" style="width: 100%;height: 25%;" maxlength="140" type="text" value="<?php echo htmlspecialchars($row1['lead_fname'])?>"></td>                
            <td  align="right"><b>Phone :</b></td>
            <td  align="left"><input name="phone" id="phone"  style="width: 100%;height: 25%;" maxlength="10" type="text"  value = "<?php echo "" . $row1['lead_phone1'] ."";?>" ></td>

        </tr>

        <tr>                
            <td align="right"><b>City :</b></td>
            <td  align="left">
            <input name="city" id="city" class="textbox" style="width: 100%;height: 25%;" maxlength="140" type="text" value="<?php echo "" . $row1['lead_city'] ."";?>">

            </td>
            <td align="right"><b>State :</b></td>
            <td  align="left" >
            <input name="state" id="state" class="textbox" style="width: 100%;height: 25%;" maxlength="140" type="text" value="<?php echo "" . $row1['lead_state'] ."";?>">             


            </td>   
        </tr>

        <tr>
            <td align="right"><b>Email-ID :</b></td>
            <td  align="left" ><input name="email" id="email" style="width: 100%;height: 25%;" class="textbox" type="text"   value = "<?php echo "" . $row1['lead_email'] ."";?>"></td> 
            <td  align="right"><b>Source </b></td>
            <td ><input type="text" name="source" id = "source"  style ="width:100%;resize: none;" maxlength="900" value="<?php echo "". $row1['lead_source'] ."";?>"></td>
        </tr>

        <tr>
        <td align="right"><b>Address : </b></td>
            <td>
            <textarea type="text" name="address" id = "address"  style ="width:100%;resize: none;" maxlength="900" ><?php echo "". $row1['lead_address1'] ."";?></textarea> 
            </td>
            <td align="right"><b>Zip Code :</b></td>
            <td  align="left"><input name="zip" id="zip" class="textbox" style="width: 100%;height: 25%;" maxlength="140" type="text" value="<?php echo htmlspecialchars($row1['lead_zip'])?>"></td>
            <!--<td  align="right"><b>Phone :</b></td>
            <td  align="left"><input name="phone" id="phone"  style="width: 100%;height: 25%;" maxlength="10" type="text"  value = "<?php //echo "" . $row1['lead_phone1'] ."";?>" ></td>-->                
        </tr>

        <tr>
            <td align="right"><b>Rounds :</b></td>
            <td>
                <?php

                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='rounds'");
                $k=0;
                echo "<select  style='width: 100%;' id='rounds' name ='rounds'>";
                echo "<option value=".$row1['lead_rounds']." selected>".$row1['lead_rounds']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }                   
                echo "</select>";
                ?>  
            </td>   
            <td  align="right"><b>Preparing For IIT-JEE :</b></td>
            <td  align="left">
            <?php
                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='IIT-JEE'");
                $k=0;
                echo "<select  style='width: 100%;' id='PrepIIT' name ='PrepIIT'>";
                echo "<option value=".$row1['lead_prep_iit']." selected>".$row1['lead_prep_iit']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }

                echo "</select>";
                ?>  
            </td>               
        </tr>

        <tr>
            <td align="right"><b>Which Standard :</b></td>
            <td  align="left" >
            <?php
                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='standered'");
                $k=0;
                echo "<select  style='width: 100%;' id='standared' name ='standared'>";
                echo "<option value=".$row1['lead_standared']." selected>".$row1['lead_standared']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }

                echo "</select>";
                ?>  
            </td>   
            <td  align="right"><b>Promo DVD :</b></td>
            <td  align="left">
            <?php
                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='PromoDVD'");
                $k=0;
                echo "<select  style='width: 100%;' id='dvd' name ='dvd'>";
                echo "<option value=".$row1['lead_dvd']." selected>".$row1['lead_dvd']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }

                echo "</select>";
                ?>
            </td>
        </tr>



        <tr>
            <td align="right"><b>Percentage in 10th :</b></td>
            <td  align="left" ><input name="tenth" id="tenth" maxlength="5"  style="width: 100%;height: 25%;" class="textbox" type="text"   value = "<?php echo "" . $row1['lead_tenth'] ."";?>"></td>  
            <td align="right"><b>Percentage in 12th :</b></td>
            <td  align="left"  ><input name="twelth" id="twelth" maxlength="5" style="width: 100%;height: 25%;" class="textbox" type="text"  value = "<?php echo "" . $row1['lead_twelth'] ."";?>"> </td>   
            <!--<td align="right"><b>Time of Call</b></td>
            <td  align="left"  ><input name="calltime" id="calltime" style="width: 100%;height: 25%;" class="textbox" type="text"  value = "<?php// echo "" . $row1['lead_import_batch_start_date'] ."";?>" readonly>   </td>   -->
        </tr>

        <tr>
            <td align="right"><b>JEE appearing year :</b></td>
            <td  align="left" >
            <?php
                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='JeeYear'");
                $k=0;
                echo "<select  style='width: 100%;' id='jeeyear' name ='jeeyear'>";
                echo "<option value=".$row1['lead_jee_year']." selected>".$row1['lead_jee_year']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }

                echo "</select>";
                ?>  
            </td>   
            <td  align="right"><b>Joined any classes :</b></td>
            <td  align="left">
            <?php
                $query = mysql_query("SELECT param_field_value,param_field_itemdata FROM cti_service_parameters where param_service_id=$service_id and param_field_name='JoinedClasses'");
                $k=0;
                echo "<select  style='width: 100%;' id='classes' name ='classes'>";
                echo "<option value=".$row1['lead_classes']." selected>".$row1['lead_classes']."</option>";
                while($row = mysql_fetch_array($query))
                {
                    $value[$k] = $row['param_field_value'];
                    $item[$k] = $row['param_field_itemdata'];

                    if($field_val == $item[$k])

                        echo "<option value='$value[$k]' selected>$value[$k]</option>";
                    else

                        echo "<option value='$value[$k]'>$value[$k]</option>";

                    $k = $k + 1;
                }

                echo "</select>";
                ?>
            </td>               
        </tr>           

        <tr>
            <td  align="right"><b>Remarks :</b></td>
            <td colspan="3"><textarea type="text" name="remarks" id = "remarks"  style ="width:100%;resize: none;" maxlength="900" ><?php echo "". $row1['lead_remarks'] ."";?></textarea> </td>
        </tr>           

        <tr>
            <td colspan=4 class="tableHeading">
                <!--<b><font color="red">Note : Fields with * are Mandatory</font></b>-->
            </td>                           
        </tr>
        <!--<input type="hidden" id="clinicFlag" name="clinicFlag" value="<?php// echo $_GET["clinicFlag"]?>">-->
        <tr>
        <tr>
            <td  colspan=4 style="padding:0px">
            <div align="center">
                    <input title="Save [Alt+S]" accessKey="S" class="crmbutton small save"  type="button" name="save" value="  Save  " style="width:100px;height:30px" >    
            </td>
            </div>
        </tr>
        </table>
        </div>

和Code.php代码如下

<?php
//session_start();
//echo $_SESSION['user'];
include("connection.php");
$lead = $_POST['lead'];
$callnumber = $_POST['callnumber'];
$service = $_POST['service'];
$lead_fname = $_POST['custname'];
$lead_phone1 = $_POST['phone'];     
$lead_city = $_POST['city'];
$lead_email = $_POST['email'];          
$lead_state = $_POST['state'];
$lead_address1 = $_POST['address'];
$lead_zip = $_POST['zip'];
$lead_rounds = $_POST['rounds'];
$lead_IIT = $_POST['PrepIIT'];
$lead_standared = $_POST['standared'];
$lead_dvd = $_POST['dvd'];
$lead_tenth = $_POST['tenth'];
$lead_twelth = $_POST['twelth'];
$lead_jee_year = $_POST['jeeyear'];
$lead_classes = $_POST['classes'];
$lead_remarks  = $_POST['remarks'];
$lead_source = $_POST['source'];    


if($GLOBALS['database_type'] == "MySql")
{
    $con=mysql_connect($GLOBALS['database_ip'],$GLOBALS['database_username'],$GLOBALS['database_password']);
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db($GLOBALS['database_name'],$con);    

    $sql1 = mysql_query("SELECT service_outbound_lead_dsn_string,
                            service_outbound_lead_db_user,
                            service_outbound_lead_db_password,
                            service_leadstructure_master_tablename,
                            service_outbound_lead_db_name 
                            FROM cti_services WHERE service_id = $service");


        while($row = mysql_fetch_array($sql1))
        {
            $lead_dsn = $row['service_outbound_lead_dsn_string'];
            $lead_user = $row['service_outbound_lead_db_user'];
            $lead_pwd = $row['service_outbound_lead_db_password'];
            $lead_table = $row['service_leadstructure_master_tablename'];
            $lead_db = $row['service_outbound_lead_db_name'];
        }

    if($_POST['save'])
    {   
    //input_app_datetime = '$lead_appointment', 
    //input_app_reschedule = '$lead_reschedule',


    mysql_select_db($GLOBALS['database_name'],$con);    


    $sqlquery = ("UPDATE $lead_db.$lead_table set lead_fname = '$lead_fname', lead_phone1 = '$lead_phone1', lead_email = '$lead_email', lead_remarks = '$lead_remarks', lead_address1 = '$lead_address1', lead_state = '$lead_state', lead_city = '$lead_city', lead_zip = '$lead_zip', lead_rounds ='$lead_rounds', lead_prep_iit ='$lead_IIT', lead_standared ='$lead_standared', lead_dvd ='$lead_dvd', lead_tenth ='$lead_tenth', lead_twelth ='$lead_twelth', lead_jee_year ='$lead_jee_year', lead_classes ='$lead_classes', lead_source ='$lead_source' WHERE lead_id=$lead");



        $dbSql = mysql_query($sqlquery) or die("Error : " . mysql_error()); 
        $sql="update cti_call_master set crm_remarks='$lead_remarks' where call_number=$callnumber";
        $dbSql1 = mysql_query($sql);
        //$flag = "saved";
        $message = "Lead Id-".$lead." Data Saved .....";
        //$message = $sqlquery;
        //header("location:vision.php?LEADID=$lead&SERVICEID=$service&CALLNUMBER=$callnumber&MESSAGE=$message&FLAG=$flag&CLI=$lead_phone1&clinicFlag=$clinicFlag&alterno=$alter_no");                       
        header("location:displayPage.php?LEADID=$lead&SERVICEID=$service&CALLNUMBER=$callnumber&MESSAGE=$message&FLAG=$flag&CLI=$lead_phone1");
    }
}

&GT;

3 个答案:

答案 0 :(得分:2)

您可以在&#39; onload&#39;上调用以下功能。事件。它会在5秒后将表格提交给您的code.php

function fncAutoSubmitForm() {
    setTimeout(function(){
        document.getElementById('myform').submit();
    }, 5000);
}

然后你的code.php将处理表单操作并将其重定向回displayPage.php。

您是否可以检查您的表单是否完全没有提交给code.php,或者它是否已提交给code.php,由于某些错误,它无法重定向回displayPage.php。在后一种情况下,如果显示错误设置尚未打开,则可以将其打开。在code.php中使用以下命令启用:

error_reporting(E_ALL);
ini_set('display_errors',1);

它没有帮助,然后请提供代码来获取实际情况。

答案 1 :(得分:1)

当您调用 fncAutoSubmitForm() onload of displayPage.php时,它会立即触发 document.getElementById(&#39; myform&#39;)。submit();

因此,您被重定向到code.php,即表单的操作。

如果您想要延迟,则不应在页面上应用 fncAutoSubmitForm()

但更像是:

setTimeout("fncAutoSubmitForm();",5000);}

function fncAutoSubmitForm(){
  document.getElementById('myform').submit();
}

但是你不会留在 displayPage.php ,它会将你重定向到 code.php 。如果您希望始终显示相同的页面,则需要更改表单中的操作目标。

答案 2 :(得分:0)

使用jQuery:)

$(document).ready(function(){
    setInterval(function(){
        submit();
    }, 1000);
});

function submit(){
    var data;
    // extract data from your form and save it to data variable
    $.ajax({
        type: "POST",
        url: "some.php",
        data: data
    });
}