【问题标题】:preventing the page from refreshing after the form submission?表单提交后阻止页面刷新?
【发布时间】:2014-11-19 03:10:34
【问题描述】:

我有一些表单从下面代码中的 herf='?id=' 获取重要值,问题是当我提交表单时它刷新页面并且我丢失了 herf='?id=' 的值,我需要一种方法来防止代码在提交后刷新?

     print ("
     <form action='<?php echo $PHP_SELF;?>' method='post' class='f'>
     <input type='text' name='subject' placeholder='العنوان'></input>
     <textarea name='tmessage' placeholder='الموضوع'></textarea>
     <input type='submit' name='t_submit' value='انشاء'></input>
     </form>");
     $tsubject=$_POST['subject'];
     $tmessage=$_POST['tmessage'];
     $tsubmit=$_POST['t_submit'];
     $ttdate=date ("Y-m-d");
     if(isset($tsubmit)){

     $int=mysql_query("INSERT INTO tickets(id,u_id,message,subject,date,status) 

     VALUES('','$_SESSION[id]','$tmessage','$tsubject','$ttdate','0')");

     if($int) { echo "تم انشاء التذكرة بنجاح";} else{ echo "خطاء"; }

     }
     $gtk=mysql_query("SELECT * FROM tickets WHERE u_id='$_SESSION[id]'");
     while($ftk=mysql_fetch_object($gtk)){
     if($ftk->status == 0) { $tkst= "معلقة"; }
     if($ftk->status == 1) { $tkst= "مجابه"; }
     print("<a href='tickets.php?tkid=$ftk->id' class='f'>$ftk->subject</a> . 

     $tkst");
     }
     $tkid=$_GET['tkid'];

     $uig=mysql_query("SELECT * FROM users WHERE id='$_SESSION[id]'");
     $fuig=mysql_fetch_object($uig);
     $gm=mysql_query("SELECT * FROM tickets WHERE id='$tkid'");
     $fgm=mysql_fetch_object($gm);
     print ("<fieldset>
     <legend>$fuig->username </legend>
     $fgm->message
     </fieldset>");
     $grs=mysql_query("SELECT * FROM responses WHERE t_id='$tkid' ORDER BY id 

     ASC");
     while($fgrs=mysql_fetch_object($grs)){

     print("$fgrs->response <br>");

     }
     print("
     <form action='<?php echo $PHP_SELF;?>' method='post'>
     <textarea name='response'></textarea>
     <input type='submit' name='rsubmit' value='ارسل'></input>
     </form>
     ");
     $response=$_POST ['response'];
     $rsubmit=$_POST ['rsubmit'];
     $tdate=date ("Y-m-d");
     if(isset($rsubmit)){


     $ir=mysql_query("INSERT INTO responses(id,t_id,response,r_date) VALUES

     ('','$tkid','$response','$tdate')");
     if($ir) { echo "تم ارسال الرد";
     } else { echo "خطاء";}
     }




        ?>

【问题讨论】:

  • 您可以让表单以 iframe 为目标或使用 ajax 而不是提交表单。
  • 将信息存储在您的表单中,以便在提交时将信息连同它一起发送。

标签: javascript php


【解决方案1】:

您可以将值存储在隐藏字段中并与表单一起提交,以便在页面刷新时可用。这样您就不必编写新脚本了。

print ("
     <form action='<?php echo $PHP_SELF;?>' method='post' class='f'>
     <input type='text' name='subject' placeholder='العنوان'></input>
     <textarea name='tmessage' placeholder='الموضوع'></textarea>
     <input type='hidden' name='id' value='$_GET['id']'></input>
     <input type='submit' name='t_submit' value='انشاء'></input>
     </form>");

$id=$_POST['id'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2012-03-09
    • 2012-05-25
    • 1970-01-01
    相关资源
    最近更新 更多