如何使用ajax jquery显示插入的查询数据而不刷新

Posted

技术标签:

【中文标题】如何使用ajax jquery显示插入的查询数据而不刷新【英文标题】:how to display an inserted query data without refreshing using ajax jquery 【发布时间】:2017-02-05 05:39:03 【问题描述】:

我现在拥有的是一个表单和一个显示提交数据的容器,它使用 ajax 请求在不刷新的情况下提交,表单和显示数据的容器在同一页面上。

我尝试使用$("id").val(); 获取表单内的输入值并使用$('#display').html(); 显示它

但我在表单中有很多输入字段,我不想复制粘贴 jquery 中的所有输入值,因为它看起来不专业、肮脏且效率不高。

javascript

$(document).ready(function()
    $("#add_rec").click(function(e)
        var me = $(this);
        e.preventDefault();
        if ( me.data('requestRunning') ) 
            return;
        
        var inputs = $("#u_rec_form").serialize();

        me.data('requestRunning', true);
        $.ajax(
            type: 'POST',
            url: 'process.php',
            data: inputs,
            success: function(data)
                    alert(data);

                ,
                 complete: function() 
                    me.data('requestRunning', false);
                
            );

        return false;

    );
);

HTML

<form id="u_rec_form">
        <div class="row">
          <div class="form-group col-xs-5 col-lg-7">
            <label for="code">Patient's Username</label>
            <input type="text" name="cust_username" placeholder="Username" class="form-control" />
          </div>
        </div>
        <div class="row">
          <div class="form-group col-xs-5 col-lg-7 ">
            <label for="code">Patient's Password</label>
            <input type="password" name="cust_password" placeholder="Password" class="form-control input-normal" />
          </div>
        </div>
         <div class="row">
          <div class="form-group col-xs-5 col-lg-7">
            <label for="code">Patient's First Name</label>
            <input type="text" name="cust_fname" placeholder="First name" class="form-control" />
          </div>
        </div>
         <div class="row">
          <div class="form-group col-xs-5 col-lg-7">
            <label for="code">Patient's Last Name</label>
            <input type="text" name="cust_lname" placeholder="Last name" class="form-control" />
          </div>
        </div>
         <div class="row">
          <div class="form-group col-xs-5 col-lg-7">
            <label for="code">Patient's Date of Birth</label>
            <input type="text" name="cust_age" placeholder="DD/MM/YYYY" class="form-control" />
          </div>
        </div>
        <div class="row">
            <input type="hidden" name="submitted" value="1">
            <button type="submit" id="add_rec" class="btn btn-default">Submit</button>
        </div>
    </form>

还有其他方法吗?

我有这些输入

<label for="code">First Name: <span id="view_<?php echo $row['id']?>"><?php echo $row['cust_fname']?></span></label><br><br>
<label for="code">Last Name: <span id="view_<?php echo $row['id']?>"><?php echo $row['cust_lname']?></span></label><br><br>
<label for="code">Age: <span id="view_<?php echo $row['id']?>"><?php echo $row['cust_age']?></span></label>

我试过用这个 $('输入').each(函数() var inputVal = $(this).val(); $('span').append(inputVal); ); 我将在每个标签中显示所有输入值,这不是我想要的

【问题讨论】:

问题描述中肯定缺少一些东西。不清楚确切的问题是什么。你提到了一个容器......然后提到了许多输入和重复代码......到底要做什么? 【参考方案1】:

使用“.append()”方法代替.html()。

更新:

如果您想获取输入的所有数据然后显示它,您可以迭代到每个输入字段然后显示它。首先向输入元素添加一个类,以便轻松编辑。

$('.input-class').each(function()
      var inputVal = $(this).val();
      $('#display').append(inputVal);
)

【讨论】:

以上是关于如何使用ajax jquery显示插入的查询数据而不刷新的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php jquery ajax 上传文件和插入数据

如何使用 jquery、ajax 和 php 在数据库中保存图像文件 (BLOB)

Django - 如何使用 JQuery Ajax 插入多个表单数据

如何使用 laravel 通过 jquery ajax 将表单值插入数据库?

如何:正确使用PHP将数据编码成JSON格式,并通过jquery/ajax请求数据

Wordpress:Ajax 无法插入、查询和结果数据