有没有办法提交没有提交按钮的表单?

时间:2015-08-28 12:52:50

标签: php html forms

我正在写一个表单,我可能会过于复杂,但我希望表单根据对问题的回答而改变。这是一个联系表格。我想问一个问题,然后使用php if else语句来生成响应,如果显示这个haml,elseif b显示这个。最后,表格将通过电子邮件发送给我。这是我的问题。如果我在头部设置变量,如下所示:

<?php
    $letter = $_POST['letter'];
    ?>
    </html>
    <body>
    <form method="post" action="<?php echo     htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <select name="letter'>
    <option value="a">a</option>
    <option value="b">b</option>
    </form>
    <?php
    if ($letter == a) {html}
    elseif ($letter == b) {html}
    ?>

是否可以,或者在分配变量之前是否需要提交表单?如果需要提交,可以在select标签中选择后立即完成,如果用户没有单击提交按钮,我该怎么做?

1 个答案:

答案 0 :(得分:0)

是的,使用javascript(jQuery),您可以在不刷新页面的情况下提交表单。!

按照以下步骤创建文件

<强>使用example.php

<html>
<head>
   <!--include jquery and js code -->
   <script type="javascript/text" src="jquery.js"></script>
   <script type="javascript/text" src="myjs.js"></script>
</head>
  <body>
   <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
      <select name="letter' id="letter">
          <option value="a">a</option>
          <option value="b">b</option>
      </select>
     </form>
     <div id="response"></div>
   </body>
</html>

<强> myjs.js

$(document).ready(function(){
     $("#letter").change(function(){
           $.post("process.php", { letter: $(this).val() },function(r){
                 $("#response").html(r);
           });
     });
});

现在最后的process.php

现在在process.php中你可以像那样进行处理

<?php
$letter = $_POST['letter'];
if ($letter == a) {html}
elseif ($letter == b) {html}
?>