Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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/0/assembly/6.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/JQuery能否检测是否键入了表单?_Javascript_Jquery_Ajax_Forms_Post - Fatal编程技术网

Javascript/AJAX/JQuery能否检测是否键入了表单?

Javascript/AJAX/JQuery能否检测是否键入了表单?,javascript,jquery,ajax,forms,post,Javascript,Jquery,Ajax,Forms,Post,我试图修改表单字段的内容,并从控制台提交表单。每当我使用Jquery或JS修改字段并提交时,页面只识别手动输入的值 下面的代码应导致字段“lastField”作为“伪造条目”提交,但该字段作为空白提交 $('submit').click(function( event ) { event.preventDefault(); $('#lastField').val('spoofed entry'); $('submit').submit(); //I also tried

我试图修改表单字段的内容,并从控制台提交表单。每当我使用Jquery或JS修改字段并提交时,页面只识别手动输入的值

下面的代码应导致字段“lastField”作为“伪造条目”提交,但该字段作为空白提交

$('submit').click(function( event ) {
    event.preventDefault(); 
    $('#lastField').val('spoofed entry');
    $('submit').submit(); //I also tried .click();
});

有没有办法将手动按键输入复制到字段中?我认为有什么东西在检测条目的方法-我也认为它正在阻止该条目。

尝试改用ID,匹配页面中的html

$('#submit_button').click(function() {
  $('#lastField').val('spoofed entry');
  $('#form').submit();
});

首先,您应该将事件侦听器放在表单上,而不是“提交”按钮上,如下所示:

$('form').on('submit', function(e){

    e.preventDefault();
    var form = $(this)    

    //... do your thing

    form.submit();

});
另外,我注意到$().val()有一些奇怪的异步行为,因此您可能希望在超时后包装
$(this).submit()
,以便让代码有机会实际执行所有操作

setTimeout(函数(){ 表单提交(); }, 50);

因此,总的来说:

$('form').on('submit', function(e){

    e.preventDefault();

    var form = $(this)    

    $('#lastField').val('spoofed entry') 

    setTimeout(function(){
       form.submit();
    }, 50);

});

不过,请先尝试一下,不要超时,因为这很有意思,但我记得这在过去对我有帮助。

经过大量搜索和修补,我发现该表单是angular JS的ngsubmit表单。)。触发器(“输入”);在使用JS/JQuery设置值后,必须使用


添加后,angular检测到表单更改。

您真正想做什么?我不明白你的意思。但是您可以定义一个全局变量,并在每个键上更改该变量的值。请参阅JQuery的keyUp方法和更新值。在formwhat's
$('submit')
上使用该变量?一节课?身份证?超人?$('submit')什么都不是,所以代码不会运行,你只需点击一下就可以发送一个基本的空表单,这个JS代码是无用的。看起来你需要阅读JQuery文档来实现一个有效的解决方案,或者粘贴你的代码来修复,这很简单