2016-07-12 5 views
-1

Привет всем. Я использовал jquery для генерации текстового поля. Он генерируется динамически через jquery.Now проблема в том, что я хочу получить значение текстового поля в функции ajax, а затем ajax pass это значение на другую php-страницу, о которой я упомянул. Когда я набираю текст в текстовом поле, он дает мне предупреждение о значении, которое у меня есть, когда я нажимаю кнопку отправки, но не передавал это значение на другую страницу, потому что он дает ошибку: -Uncaught TypeError: Невозможно прочитать свойство «push» неопределенного.Uncaught TypeError: Не удается прочитать свойство «push» undefined

Мой код: - В первом скрипте я использовал для генерации texbox динамически, а во втором скрипте я хочу получить значение текстового поля и передать это значение в файл php. Во втором сценарии я выше ошибки в этой строке
dynamic_text.push($(this).parents("tr").find(".dynamic_text").val())

<script> 
    jQuery(function($){ 
    $(".select_drop").on('change', function(){ 
    var $this = $(this), 
     selectedType = $this.val(); 
    if($this.closest('tr').find('.dynamic_text').length == 0) $(this).closest('tr').append("<table><tr><td><form method='post'><input type='text' class='dynamic_text'><td></form></td></tr></table>") 
    //if($this.closest('tr').find('.dynamic_text').length == 0) $(this).closest('tr').append("<form method='post'><td><input type='text' class='dynamic_text'></td></form>") 
    }); 
    }); 
    </script> 
<script> 
$(document).ready(function(){ 
$('#submit').click(function(){ 
    <?php global $store; ?> 
      var store= '<?php echo $store; ?>'; 
var textbox = []; 
    var textbox1 = []; 
    var check = []; 
    //var dynamic_text= $('.dynamic_text').val(); 
var dynamic_text; 
    // alert(dynamic_text); 
    $('.check').each(function() { 
if ($(this).is(':checked')) { 
       var current = $(this).val(); 

       //alert(current); 
      textbox.push($(this).parents("tr").find(".textbox").val()) 
      textbox1.push($(this).parents("tr").find(".textbox1").val()) 
      dynamic_text.push($(this).parents("tr").find(".dynamic_text").val()) 

     } 
    check.push($(this).val()); 
}); 

       $.ajax({ 
      url: 'aj2.php', 
      type: 'post', 
      data: { check: textbox, store: store, oldval: textbox1,dynamic_text:dynamic_text}, 
      success:function(data){ 
       alert(data); 
//alert("Data save!!!"); 
      } 
     }); 
return false; 
}); 
}); 
</script> 
+1

Просто дайте нам код, не ставьте его в изображение. –

+0

Опубликовать код * здесь * – Li357

+0

'dynamic_text' так и не был определен. Таким образом, у него нет метода '.push()', поскольку он не является массивом; как ошибка говорит: «Не могу прочитать свойство« push »undefined' –

ответ

0

Это потому, что вы не устанавливая значение переменной dynamic_text:

var dynamic_text; 

В качестве такого его значение будет undefined. И ясно undefined не имеет метода .push(); вот что говорит об ошибке:

Cannot read property 'push' of undefined

Вы хотите определить переменную как массив:

var dynamic_text = []; 
+0

thanyou sir для ответа. –

Смежные вопросы