【问题标题】:PHP - Submit button and get value without refreshPHP - 提交按钮并在不刷新的情况下获取值
【发布时间】:2019-01-28 05:03:05
【问题描述】:

您好,我想获取此输入的值并使用 ajax 完全没有数据库来获取它。谢谢你。我怎么能用ajax呢?

<form method="POST">
   <input type="text" name="input" id="card-code" value='<?php echo $code ?>' class="form-control">

   <input type="text" id="card-pin" value='<?php echo $code2 ?>' class="form-control" maxlength="3">
 </form>

这是我的输入,这是按钮。

           <form action="top-up.php" method="POST"> 


                    </div>
                </div>

                <div class="col-md-6" style="margin-top: -160px">

                        <div class="caption">

                        <div class="jumbotron">

                        <textarea class="form-control text-center" id="scanned-QR" name="lblQrTxt" onchange = "change()"></textarea><br><br><br>

                           <input class="btn btn-primary btn-lg" type="submit" name="btnSubcode" value="PROCESS"></input>
                        </div>

                        </div>
                </div>
            </div>
             </form>

所以最终输出不会刷新页面,文本区域值将发送到文本框

【问题讨论】:

    标签: javascript php ajax forms


    【解决方案1】:

    jQuery 表单插件允许您轻松且不显眼地升级 HTML 表单以使用 AJAX。主要方法 ajaxForm 和 ajaxSubmit 从表单元素收集信息以确定如何管理提交过程。

    http://malsup.com/jquery/form/#getting-started

    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#myForm').ajaxForm(function() { 
            alert("Thank you for your comment!"); 
        }); 
    }); 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
        <script src="http://malsup.github.com/jquery.form.js"></script> 
        
    
    <form id="myForm" action="comment.php" method="post"> 
        Name: <input type="text" name="name" /> 
        Comment: <textarea name="comment"></textarea> 
        <input type="submit" value="Submit Comment" /> 
    </form>
    // prepare Options Object 
    var options = { 
        target:     '#divToUpdate', 
        url:        'comment.php', 
        success:    function() { 
            alert('Thanks for your comment!'); 
        } 
    }; 
    
    // pass options to ajaxForm 
    $('#myForm').ajaxForm(options);
    

    【讨论】:

      【解决方案2】:

      首先,重写你的html代码如下:

      <form id="form" action="top-up.php" method="POST"> 
      
      
                          </div>
                      </div>
      
                      <div class="col-md-6" style="margin-top: -160px">
      
                              <div class="caption">
      
                              <div class="jumbotron">
      
                              <textarea class="form-control text-center" id="scanned-QR" name="lblQrTxt"></textarea><br><br><br>
      
                                 <input class="btn btn-primary btn-lg js-form-submit" type="submit"></input>
                              </div>
      
                              </div>
                      </div>
                  </div>
                   </form>
      

      那么,你可以写成这样的JS:

      $(document).on('click','.js-form-submit', function (e) {
          e.preventDefault();
          var formData = $('#form').serialize();
          var url = $('#form').attr('action');
          $.ajax({
              type: "POST",
              cache: false,
              url: url // Your php url here
              data : formData,
              dataType: "json",
              success: function(response) {
                   //var obj = jQuery.parseJSON(response); if the dataType is not specified as json uncomment this
                   // do what ever you want with the server response
              },
              error: function() {
                alert('error handling here');
              }
          });
      });
      

      【讨论】:

      • 使用 type="button" 而不是 type="submit" 作为提交按钮。
      • 将 type="submit" 更改为 type="button" 并删除表单
      • 至少值得一提的是,您的答案完全依赖于第 3 方库。也没有#js-form-submit 元素,&lt;?=top-up.php?&gt; 是语法错误。
      • 我的坏@David,你是对的。感谢您指出。我已经通过修复更新了答案。
      • 对不起,@obitouchiha 我忘了提,但您需要 jquery 库来执行上述脚本。您可以从他们的官方库下载它或使用可用的 CDN。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      • 1970-01-01
      • 2022-01-10
      • 2020-05-29
      相关资源
      最近更新 更多