jQuery收集输入而不提交

时间:2017-07-06 06:40:18

标签: php jquery

我正在尝试从输入中获取值,而无需用户执行任何操作,然后通过php将其保存到txt文件。

这是我到目前为止所得到的:

var x = setInterval(function() { 
var email = $("#test").val();    
if(email != '' && email != newemail) {

     $('#display').append(email)

   $.ajax({
      type: "POST",
      url: 'inputs-saving.php',
      data: ({usremail:email}),
      success: function(data) {     
      }
    }); 

}
var newemail = $("#test").val();
}, 1000);

它工作得很好,但我需要检查值是否改变了,因为如果我输入一些文本,它将每秒都在文件中不断写入。

我还尝试添加类似“var newemail = email”的内容,但无法使其成功运行。

3 个答案:

答案 0 :(得分:0)

你可以这样做

$('#test').on('change',function () {
    var email= $(this).val();
    if(email != '') {

        $('#display').append(email);

        $.ajax({
            type: "POST",
            url: 'inputs-saving.php',
            data: ({usremail:email}),
            success: function(data) {
            }
        });

    }
});

此处test是电子邮件归档ID 我会帮助你。

答案 1 :(得分:0)

$("input").blur(function(){
    //place your logic
});
每次更改文本时,

模糊不会触发,只有当您从该框中移除焦点时

答案 2 :(得分:0)

存在可变范围问题,试试这个:

import { ChangeDetectorRef } from '@angular/core';

export class CompB implements OnInit{
    @Input() item: any;
    someArray: any[];
    previous;

    constructor(cd: ChangeDetectorRef) {}

    ngOnInit():void {
        this.previous = this.item.name;
        someArray.push("something");
    }

    ngDoCheck() {
      if (this.previous !== this.item.name) {
        this.cd.detectChanges();
      }
    }
}