2012-01-13 18 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

,它會像一個魅力