2012-01-13 17 views
0

通过内联模式使用fancyBox的最新版本,并且我无法获取文本框的值以提交数据。检索花式框内的文本框的值

使用常规输入按钮,而不是一个asp.net控件,但文本框是asp.net。

document.getElementById('<%= txtCancelReason.ClientID %>'); 

那个时候我初始化的fancybox工作,但如果我点击提交按钮,该值为空。曾尝试使用jQuery来获取值,没有任何工作。

想法?

+0

这是一个ASP.NET问题,在对这一问题的回答: [ASP.NET的fancybox没有按钮工作] [1] [1]: http://stackoverflow.com/questions/2686362/fancybox-asp-net-button-not-working – 2015-07-06 23:53:42

回答

0

你能看到为该文本框生成的HTML代码吗?你可以使用jQuery去控制一个参考的ID与txtCancelReason

结束
$('input:text[id$=\'txtCancelReason\']').val(); 

会给你的文本框的值

+0

我试过这个,也与clientID,他们都返回undefined。 fancyBox造成这种情况,只是不知道它是什么。 – PixelMuse 2012-01-13 20:58:10

0

您是否尝试过瞄准一个的fancybox类,然后在里面搜索为你的文本框?

$('#button-id').on('click', function() { 
    var $textbox = $('.fancybox-wrap').find('input[type="text"]'), 
     textVal = $textbox.val(); 
}); 

两个花式箱1.x.x和2.x.x使用.fancybox-wrap类,所以它应该在任何版本。

您也可以选择文本框相对于您的按钮:

$('#button-id').on('click', function() { 
    var $textbox = $(this).closest('form').find('input[type="text"]'), 
     textVal = $textbox.val(); 
}); 

注意.on()是jQuery的1.7,在这种情况下,新的是一样的使用.bind()

+0

我也试过,但它不会绑定在我的fancybox中。也许我需要在盒子外面做所有这些。 – PixelMuse 2012-01-13 22:38:13

+0

与我打开一个函数而不是一个点击甚至是一个锚标签的fancybox是否有什么关系? – PixelMuse 2012-01-13 22:38:40

+0

你的'inline'内容是通过AJAX还是在IFRAME中? – Jasper 2012-01-13 22:41:08

0

这里是解决方案:

  1. 检查您的网页并获取表单的id让我们说:Form1中

  2. 搜索的fancybox的js文件:appendTo( “身体”)appendTo( “#Form1的”)

更换210

,它会像一个魅力