Hello Everyone我用jquery生成一个textbox。它是通过jquery动态生成的。现在问题是我想在ajax函数中获取文本框值,然后ajax将这个值传递给我提到的其他php页面。当我在文本框中键入文本时,它会提醒我在单击“提交”按钮时输入的值,但是它没有将此值传递给其他页面,因为它给出了错误:
-Uncaught TypeError:无法读取属性' push'未定义的。
我的代码是: -
在第一个脚本我用来动态生成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>
编辑:突出显示错误
答案 0 :(得分:0)
这是因为您没有为变量dynamic_text
设置值:
var dynamic_text;
因此,它的值为undefined
。显然undefined
没有.push()
方法;那个错误在说什么:
无法读取属性&#39;推送&#39;未定义的
您需要将变量定义为数组:
var dynamic_text = [];