通过内联模式使用最新版本的fancyBox,我无法获取文本框的值来提交数据。
使用常规输入按钮,而不是asp.net控件,但文本框是asp.net。
document.getElementById('<%= txtCancelReason.ClientID %>');
当我初始化fancyBox时,这是有效的,但如果我单击提交按钮,则该值为空。尝试过使用jQuery来获取价值,没有任何作用。
思想?
答案 0 :(得分:0)
你能看到为文本框生成的HTML代码吗?您可以使用Jquery获取对ID以txtCancelReason结尾的控件的引用
$('input:text[id$=\'txtCancelReason\']').val();
将为您提供文本框的值
答案 1 :(得分:0)
您是否尝试过定位Fancybox类,然后在其中搜索文本框?
$('#button-id').on('click', function () {
var $textbox = $('.fancybox-wrap').find('input[type="text"]'),
textVal = $textbox.val();
});
Fancy box 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()
相同。
答案 2 :(得分:0)
这是解决方案:
检查您的网页并获取表单的ID,例如: form1
搜索fancybox js文件: appendTo(“body”)并将其替换为 appendTo(“#form1”)
它会像魅力一样工作