【问题标题】:Echo data in same form after submitting提交后以相同的形式回显数据
【发布时间】:2015-01-13 20:33:54
【问题描述】:

我有一个简单的 html 表单,它包含在 Spry 选项卡式面板中。 所以,我想知道,是否可以在面板中提交该表单,并且仅提交该表单,然后将提交的数据回显到正确的字段中。

回显部分在其他页面上执行或在提交后重定向不是问题,但我的问题来自其他表单,如果提交此表单应该/不能清除。

非常感谢您提供正确方向的提示!

提前谢谢你。

见下面的代码:

(我知道表单操作不应该指向不同的文件,但这正是我迄今为止一直在使用它的方式......)

    <form action="caller_upd.php" method="post" name="contact" >
  <table width="200" border="0">
  <?php 
  $_SESSION['uid'] = $uid;
  ?>
    <tr>
    <td width="68">Title</td>
    <td width="4">:</td>
    <td width="144"><select name="title" id="title">
    <option selected="selected" disabled="disabled"</option>
      <option value="Mr">Mr</option>
      <option value="Ms">Ms</option>
      <option value="Dr">Dr</option>
    </select></td>
    <td width="6">&nbsp;</td>
    <td width="53">Number</td>
    <td width="3">:</td>
    <td width="301"><input style="color:rgb(255,0,0);" autofocus="autofocus"  type="text" name="contactnr" id="contactnr" /></td>
  </tr>
  <tr>
    <td>Name</td>
    <td>:</td>
    <td><input type="text" name="fname" id="fname" /></td>
    <td>&nbsp;</td>
    <td>Surname</td>
    <td>:</td>
    <td><input type="text" name="sname" id="sname" /></td>
  </tr>
  <tr>
    <td>Nature of Call</td>
    <td>:</td>
    <td><select name="type" id="type">
      <option disabled="disabled" selected="selected"></option>
      <option value="Domestic">Domestic</option>
      <option value="MVA">MVA</option>
      <option value="Assult">Assult</option>
      <option value="Padestrian">Padestrian</option>
      <option value="Transfer">Transfer</option>
      <option value="Private">Private</option>
</select></td>
    <td>&nbsp;</td>
    <td>Nr of Patients:</td>
    <td>:</td>
    <td><select name="nop" id="nop">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10+">10+</option>
    </select></td>
  </tr>
  <tr>
    <td>Location</td>
    <td><label for="location"></label></td>
    <td colspan="5"><input name="location" type="text" id="location" size="50" /> <?php if (!empty($location)){ ?><a href="street_map.php" target="_blank">Show Map</a><?php } else { } ; ?></td>
    </tr>
  <tr>
    <td>Comments:</td>
    <td colspan="6"><textarea name="comment" id="comment" cols="70" rows="5"></textarea></td>
    </tr>
  <tr>
    <td colspan="7" class="form"><input type="submit" name="submit"  id="submit" value="Update" /></td>
    </tr>
</table>
</form>

【问题讨论】:

  • 也许用 PHP_SELF 而不是 caller_upd.php 可以解决问题,更多信息在这里:php.net/manual/en/reserved.variables.server.php
  • &lt;input type="text" name="fname" id="fname" value="&lt;?php echo isset($_POST['fname']?$_POST['fname']:''; ?&gt;"/&gt;希望你能为别人做。假设你没有做标题重定向
  • 谢谢@ShaifulIslam。我将尝试代码并回复您!感谢您的努力

标签: php jquery html forms spry


【解决方案1】:

检查帖子值是否存在,如果存在,请选择选项或将值放入输入元素中...

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="contact" >
    <table width="200" border="0">
        <tr>
            <td width="68">Title</td>
            <td width="4">:</td>
            <td width="144"><select name="title" id="title">
                    <option value="Mr" <?php if(isset($_POST['title']) && $_POST['title'] == "Mr") echo "selected"; ?>>Mr</option>
                    <option value="Ms" <?php if(isset($_POST['title']) && $_POST['title'] == "Ms") echo "selected"; ?>>Ms</option>
                    <option value="Dr" <?php if(isset($_POST['title']) && $_POST['title'] == "Dr") echo "selected"; ?>>Dr</option>
                </select></td>
            <td width="6">&nbsp;</td>
            <td width="53">Number</td>
            <td width="3">:</td>
            <td width="301"><input style="color:rgb(255,0,0);" autofocus="autofocus"  type="text" name="contactnr" id="contactnr" value="<?php if(isset($_POST['contactnr'])) echo $_POST['contactnr']; ?>" /></td>
        </tr>
        <tr>
            <td>Name</td>
            <td>:</td>
            <td><input type="text" name="fname" id="fname" value="<?php if(isset($_POST['fname'])) echo $_POST['fname']; ?>" /></td>
            <td>&nbsp;</td>
            <td>Surname</td>
            <td>:</td>
            <td><input type="text" name="sname" id="sname" value="<?php if(isset($_POST['sname'])) echo $_POST['sname']; ?>" /></td>
        </tr>
        ...
    </table>
</form>

【讨论】:

  • 感谢您的努力,但在尝试上面发布的示例时出现以下错误:致命错误:无法使用 [] 读取 C:\xampp\htdocs\...跨度>
  • @Boeta 对不起,我修好了。再试一次。
  • 我意识到代码中的错误,谢谢!很快就会带着判决回来。
  • 好的,所以效果很好,我都想通了。但是,提交键,现在链接到一个特定的功能....创建数据库条目,我想更新回声应该需要的表单信息,但是提交按钮具有相同的 Fx,导致数据库中的重复条目
  • @Boeta,请每个线程一个问题。将我的答案标记为正确并打开一个新问题。在新问题中显示 JS 代码。
猜你喜欢
  • 1970-01-01
  • 2019-10-11
  • 2017-12-16
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2019-11-03
  • 2014-09-29
相关资源
最近更新 更多