Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 按Enter键时调用单击功能_Javascript_Php_Jquery - Fatal编程技术网

Javascript 按Enter键时调用单击功能

Javascript 按Enter键时调用单击功能,javascript,php,jquery,Javascript,Php,Jquery,我一直很难弄明白为什么按键不起作用。不,我的意思是它正在工作,但返回的结果是json。我想在按下Post按钮时返回html。如何使enter键和按钮单击功能相同?谢谢这是到目前为止我的代码 注意:单击post comment按钮后,代码工作正常 但如果按enter键,则返回json数据 JS: PHP: HTML: 我想分享javascript代码,它可以帮助您在按下enter键时调用函数 <script> function myFunction(event) { var x = e

我一直很难弄明白为什么按键不起作用。不,我的意思是它正在工作,但返回的结果是json。我想在按下Post按钮时返回html。如何使enter键和按钮单击功能相同?谢谢这是到目前为止我的代码

注意:单击
post comment
按钮后,代码工作正常 但如果按
enter
键,则返回json数据

JS:

PHP:

HTML:


我想分享javascript代码,它可以帮助您在按下enter键时调用函数

<script>
function myFunction(event) {
var x = event.which || event.keyCode;
if(x == 13){
youWantToCall();
}
function youWantToCall(){
alert('you type enter key');
}
}
</script>

函数myFunction(事件){
var x=event.which | | event.keyCode;
如果(x==13){
youWantToCall();
}
函数youWantToCall(){
警报(“键入回车键”);
}
}

我想分享javascript代码,它可以帮助您在按下enter键时调用函数

<script>
function myFunction(event) {
var x = event.which || event.keyCode;
if(x == 13){
youWantToCall();
}
function youWantToCall(){
alert('you type enter key');
}
}
</script>

函数myFunction(事件){
var x=event.which | | event.keyCode;
如果(x==13){
youWantToCall();
}
函数youWantToCall(){
警报(“键入回车键”);
}
}

我认为您的问题在于使用了错误的事件

在代码中,注册
keypress并单击
.js post按钮上的
事件
,这意味着该按钮已被单击或按钮已按下

您可以看到以下代码:

您可以看到何时调用每个事件

可能更改您的
keepress
事件,如下所示将解决您的问题:

function submitFunction(item_id){
  console.log('in submit function');
  var url = $('form#js-post-comment').attr('action');
  $.ajax({
      type     : 'POST',
      url      : url,
      dataType : 'json',
      data     : $('#js-post-comment').serialize(),
      success  : function(result) {
        $('#js-input-comment').val('');
        showComments(item_id);
      }
    });
}

function commentApp(item_id){
  $('.js-input-comment').keypress(function(e){
    if (e.which === 13){
      e.preventDefault();
      submitFunction(item_id);
    }
  });

  $('.js-post-button').on('click', function(e){
    submitFunction(item_id);
  });
}

我认为你的问题在于你使用了错误的事件

在代码中,注册
keypress并单击
.js post按钮上的
事件
,这意味着该按钮已被单击或按钮已按下

您可以看到以下代码:

您可以看到何时调用每个事件

可能更改您的
keepress
事件,如下所示将解决您的问题:

function submitFunction(item_id){
  console.log('in submit function');
  var url = $('form#js-post-comment').attr('action');
  $.ajax({
      type     : 'POST',
      url      : url,
      dataType : 'json',
      data     : $('#js-post-comment').serialize(),
      success  : function(result) {
        $('#js-input-comment').val('');
        showComments(item_id);
      }
    });
}

function commentApp(item_id){
  $('.js-input-comment').keypress(function(e){
    if (e.which === 13){
      e.preventDefault();
      submitFunction(item_id);
    }
  });

  $('.js-post-button').on('click', function(e){
    submitFunction(item_id);
  });
}

您应该收听表单上的“提交事件”:

$('#js-post-comment').on('submit', function(event) {
  event.preventDefault(); // stop form from making native submit

  var url = $(this).attr('action');
  $.ajax({
    type     : 'POST',
    url      : url,
    dataType : 'json',
    data     : $(this).serialize(),
    success  : function(result) {
      console.log('Do something with result:');
      console.log(result);
    }
  });
});

您应该收听表单上的“提交事件”:

$('#js-post-comment').on('submit', function(event) {
  event.preventDefault(); // stop form from making native submit

  var url = $(this).attr('action');
  $.ajax({
    type     : 'POST',
    url      : url,
    dataType : 'json',
    data     : $(this).serialize(),
    success  : function(result) {
      console.log('Do something with result:');
      console.log(result);
    }
  });
});


您还可以检测按键并执行某些功能。例如,按下“输入/返回”键,触发提交功能。在此处找到它

您还可以检测按键并执行某些功能。例如,按下“输入/返回”键,触发提交功能。在这里找到它

问题是什么?@Rayon,我更新了上面的问题。你从webservice返回
JSON
,你怎么能期望
HTML
?@Rayon,我的错。我还将粘贴另一个显示htmluse
的函数,而不是
按钮
问题是什么?@Rayon,我更新了上面的问题。你从webservice返回
JSON
,你怎么能期望
HTML
?@Rayon,我的坏朋友。我还将粘贴另一个函数,该函数显示htmluse
而不是
按钮
if(e.which==13 | | e.type==click')
if(e.which==13 | | e.type==click')没有区别
很抱歉,我希望它位于类似于commentApp()的函数中。有办法吗?感谢您的支持,您需要将
js input comment
类添加到您的输入文本标记中。这也很有效,但不够整洁。谢谢:)无论如何,这也很有用。对不起,我希望它包含在像commentApp()这样的函数中。有办法吗?感谢您的支持,您需要将
js input comment
类添加到您的输入文本标记中。这也很有效,但不够整洁。谢谢:)不管怎样,这也很有用。这很整洁。刚刚将我的按钮改为键入
submit
,现在可以开始了:)谢谢如果这个问题对其他人有用,请给他们打分。谢谢:)这很整洁。刚刚将我的按钮改为键入
submit
,现在可以开始了:)谢谢如果这个问题对其他人有用,请给他们打分。谢谢:)