Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 始终返回未定义的值_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 始终返回未定义的值

Javascript 始终返回未定义的值,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我使用jQuery向服务器发送Ajax请求,以保存表单中输入的值。在我被卡住的部分下面。HTML如下所示 <span class="no-margin multiple Date_Off" style="margin-left: 104px;"> <input type="text" value="" /><input type="text" /> <input type="text" value="-" /><input type=

我使用jQuery向服务器发送Ajax请求,以保存表单中输入的值。在我被卡住的部分下面。HTML如下所示

<span class="no-margin multiple Date_Off" style="margin-left: 104px;">
  <input type="text" value="" /><input type="text" />
  <input type="text" value="-" /><input type="text" />
  <input type="text" /><input type="text"  value="-" />
  <input type="text" /><input type="text" /><input type="text" />
  <input type="text" />
</span>
但它返回的内容在查询结构中始终是未定义的。下面是它的函数

function send_request(input_name, value) {
  $.ajax({
    url: '/ajax_requests/save_form',
    data: 'input_name=' + input_name + '&form_id=' +     
    $('input[type=hidden]').val() + '&value=' + value,
    error: function () {
      $('.main-content').append(
         'There was an error in request. 
          Please contact your website Developer to fix it.'
       );
    },
    success: function () {

    }
  });
}
用于代码执行的图像 焦点中的输入为1。日期控制台显示内部服务器错误。因为jQuery发送的请求的输入名为undefined,而不是列名

我为此制作了一把迷你小提琴:


这里有什么帮助吗?

在这一行中,您试图获取输入的名称

send_request($(this).attr('name'), $(this).val());
我在代码的任何地方都看不到name属性,我想您想要的是得到父类的类

send_request($(this).parent().attr('class'), $(this).val());

对于您发布的小提琴,有两个错误。第一个是调用ele.val,但在此上下文中ele不是jQuery对象,因此需要从中获取value属性。第二个是jQuery-each函数对一个对象数组进行操作,它的返回值就是这个对象数组。您不希望您的值(应该是字符串)接受该返回值。这是一个


您说您正在使用父类,但随后传递name属性send_request$this.attr'name',$this.val;不让senseI感到抱歉@Wilmer,我已经澄清了这一点:我正在使用if-else块检查输入是单个还是多个块…name用于单个输入,className用于多个输入…或者更好的是,如果$this.parent.hasClassDate\u Off edit:不要介意我以前的建议Yes,我想得到父元素的类!但是我不知道我的代码中的错误在哪里。@AfzaalAhmadZeeshan在input.change函数中,当您发送请求时,您使用的是attr'name',例如,它获取并返回'abc',您应该使用attr'class'
send_request($(this).parent().attr('class'), $(this).val());
    input.change(function () {
    // Input click function...
    var value = '';
    $(this).parent().find('input').each(function (index, ele) {
        value += ele.value;
    });
    send_request('Date_Off', value);
});