Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每次表单输入字段更改时发送ajax请求_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 每次表单输入字段更改时发送ajax请求

Javascript 每次表单输入字段更改时发送ajax请求,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我需要创建一个表单,每当使用jquerychange事件更改表单元素时,它都会发送一个ajax请求。通过执行以下操作,我可以使表单输入值显示在跨距中: <form id="TestForm" class="form-horizontal"> <div class="form-group"> <label for="namefirst" class="col-sm-2 control-label">First Name</label

我需要创建一个表单,每当使用jquerychange事件更改表单元素时,它都会发送一个ajax请求。通过执行以下操作,我可以使表单输入值显示在跨距中:

<form id="TestForm" class="form-horizontal">
    <div class="form-group">
        <label for="namefirst" class="col-sm-2 control-label">First Name</label>
        <div class="col-sm-6">
            <input id="firstname" type="text" name="firstname" class="form-control" placeholder="Enter your first name" /><span id="spanfirstname"></span>
        </div>
    </div>
    <div class="form-group">
        <label for="namelast" class="col-sm-2 control-label">Last Name</label>
        <div class="col-sm-6">
            <input id="lastname" type="text" name="lastname" class="form-control" placeholder="Enter your last name" /><span id="spanlastname"></span>
        </div>
    </div>
    <div class="form-group">
        <label for="email" class="col-sm-2 control-label">Email</label>
        <div class="col-sm-6">
            <div class="left-inner-addon"> <i class="glyphicon glyphicon-envelope"></i>
                <input id="email" type="text" name="email" class="form-control" placeholder="Enter your email" /><span id="spanemail"></span>
            </div>
        </div>
    </div>
    <div class="form-group">
        <label for="phone" class="col-sm-2 control-label">Phone</label>
        <div class="col-sm-6">
            <div class="left-inner-addon"> <i class="glyphicon glyphicon-phone-alt"></i>
                <input id="phone" type="text" name="phone" class="form-control" placeholder="Enter your phone number" /><span id="spanphone"></span>
            </div>
        </div>
    </div>
    <div class="form-group">
        <label for="password" class="col-sm-2 control-label">Password</label>
        <div class="col-sm-6">
            <input id="password" type="password" name="password" class="form-control" placeholder="Enter a password" /><span id="spanphone"></span>
        </div>
    </div>
    <div class="form-group">
        <label for="password" class="col-sm-2 control-label"></label>
        <div class="col-sm-6">
            <button class="button green major beeboop" name="button" type="submit">This is a test</button>
        </div>
    </div>
</form>
<div id="result"></div>
<div class="row spacer"></div>
</div>
<!-- /container -->
<script src="//code.jquery.com/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('#firstname').change(function() {
            $('#output_firstname').val($(this).val());
            $('#spanfirstname').html('<b> TestForm: firstname:' + $(this).val() + '</b>');
        });
        $('#lastname').change(function() {
            $('#output_lastname').val($(this).val());
            $('#spanlastname').html('<b>' + $(this).val() + '</b>');
        });
        $('#email').change(function() {
            $('#output_email').val($(this).val());
            $('#spanemail').html('<b>' + $(this).val() + '</b>');
        });
        $('#phone').change(function() {
            $('#output_phone').val($(this).val());
            $('#spanphone').html('<b>' + $(this).val() + '</b>');
        });
        $('#password').change(function() {
            $('#output_password').val($(this).val());
            $('#spanpassword').html('<b>' + $(this).val() + '</b>');
        });
    });
</script>
'); } }); });
我尝试了你的代码,但是没有调用任何ajax请求,我只是放了一个
控制台.log('testing')

它起作用了

我想你没有意识到(我的感觉)是。。更改不会在键入时调用..,而是在文本框失去焦点时调用

而且,最好使用

var getallyourvalshere=$('#firstname').val();
$.post('linktoyourscript.php',{firstname:getAllYourValhere},函数(数据){
//做一些事情,console.log(数据);
});

你为什么使用return-false

您应该描述您的问题(错误、您得到的结果等),“不成功”意味着什么?为什么在更改中返回false?您检查了浏览器开发控制台中的日志了吗?有留言吗?更准确的信息将帮助您获得正确答案。请检查此项。。它起作用了!谢谢你和所有帮助过我的人。我需要将表单值添加到结构中,这是我的另一个问题。
<script>
    $(document).ready(function() {
        $('#firstname').change(function() {
            jQuery.post("ajax-process.cfm", {
                firstname: jQuery('#firstname').val()
            }, function(data) {

            });
            return false;
        });
    });
</script>
$("input[type='text']").change(function() {
var firstname = $("#firstname").val();
var lastname = $("#lastname").val();
var email = $("#email").val();
$.ajax({
url : "ajax-process.cfm",
type: "POST",
data: {
    firstname: firstname,
    lastname: lastname,
    email: email
},
success: function(data) {
$("#simple-msg").html('<pre><code>' + data +  '</code></pre>');
}
});
});