Javascript 如何在enter按键事件中获取输入值?

Javascript 如何在enter按键事件中获取输入值?,javascript,php,jquery,Javascript,Php,Jquery,我试图提交一个表单时,按enter键而不刷新页面 这是我的密码 php代码 <form action="profile/update_profile" method="post" id="business_name_data"> <input type="hidden" name="business_name" id="business_name"/> </form> js代码 jQuery(document).keyup(function(e){

我试图提交一个表单时,按enter键而不刷新页面

这是我的密码

php代码

<form action="profile/update_profile" method="post" id="business_name_data">
 <input type="hidden" name="business_name" id="business_name"/>
</form>
js代码

 jQuery(document).keyup(function(e){

   e.preventDefault();

    if(e.which == 13){
    jQuery.ajax({
                    type : "post",
                    url :  "../profile/update_profile",
                    data : "business_name="+jQuery("#business_name").val(),
                    dataType: "json",
                    success : function(msg) 
                    {    
                        console.log(msg);
                            //jQuery("div").find(".category_view").html(msg);
                            //jQuery("#1").css("visibility","visible");
                    }
          });
             }
          });
我试图传递输入值,但它打印空值。 请帮忙。

试试这个

必须将值设置为隐藏元素

第一件事 将if条件之前的值警告为:

alert(jQuery("#business_name").val());// check this if it gives the value
如果它给出了值,并将echo设置为您没有echo或print\r

在update_profile函数中

public function update_profile()
{
  json_encode($this->input->post('business_name'),true);
}
public function update_profile()
{
   echo json_encode($this->input->post('business_name'),true);
   //add the echo and check  

}

希望这会有帮助

首先,您需要在update\u profile方法中回显该值

下一步是检查是否按了Enter键尝试此操作,同时尝试将输入字段business_name中的值打印到控制台,查看其是否有值

jQuery(document).keyup(function (e) {
    e.preventDefault();
    if (e.keyCode == 13) {
        jQuery.ajax({
            type: "post",
            url: "../profile/update_profile",
            data: {
                "business_name": jQuery("#business_name").val()
            },
            dataType: "json",
            success: function (msg) {
                console.log(msg);
            }
        });
    }
});

如果您犯了一个错误,需要一个可见的文本框,并且当您单击该文本框上的enter键时,您希望在不刷新页面的情况下提交表单,您可以订阅submit事件

  $(function(){
      $('#business_name_data').submit(function(event){
        alert('your ajax call');
        event.preventDefault();
      });
   });

您的输入中没有任何值。将值分配给business_name的代码在哪里?我想您需要一些东西,比如当我单击更改为键入的文本时,字段是否隐藏=text@IshaS字段的类型无关紧要,$id.val给出id=的任何输入字段的值是它是隐藏的还是不知道的,当它不能工作时,你怎么能称它为演示呢?@ICanHasCheezburger只需告诉OP,函数工作正常,输入参数为posted如何设置用户输入而不是value=businessName?当我尝试获取输入值时,它会打印string0。无法获取用户输入。谢谢你的回复。当我提醒jquerybusiness_name.val;它什么都没有。这是问题所在。我如何才能获得输入值?谢谢您的回答。请尝试此警报$business\u name.val;将代码放入$document中,使用$jQuerytry而不是jQuerytry。readyfunction{//copy all js code here}请检查:1是否正确包含js文件2字段id business_name是否重复多个字段的相同id
jQuery(document).keyup(function (e) {
    e.preventDefault();
    if (e.keyCode == 13) {
        jQuery.ajax({
            type: "post",
            url: "../profile/update_profile",
            data: {
                "business_name": jQuery("#business_name").val()
            },
            dataType: "json",
            success: function (msg) {
                console.log(msg);
            }
        });
    }
});
  $(function(){
      $('#business_name_data').submit(function(event){
        alert('your ajax call');
        event.preventDefault();
      });
   });