我使用以下代码:
<div class="example">
<p> <a href="#info" rel="facebox">View Facebox</a> </p>
<p> <input id="Button1" type="button" value="button" onclick="Get_Value();"/></p>
</div>
<div id="info" style="display:none;">
<p><input id="text1" name="text1" type="text" value="abc"/></p>
<p> <input id="Button2" type="button" value="button" onclick="Get_Value();$.facebox.close(); return;"/> </p>
<script type="text/javascript">
function Get_Value()
{
alert($('#text1').val());
var myTextField = document.getElementById('text1');
alert("You entered: " + myTextField.value)
}
</script>
问题是,在我的警告语句中,我总是得到文本框text1的初始值'abc';但不是用户在面板中打开时输入的任何值。有人可以帮帮我吗?
答案 0 :(得分:2)
我得到了解决方案。
我使用了以下内容:
alert($('#facebox input:text:first').val())
它给出了文本框的修改值。
参考:Getting value of an element inside facebox div using jquery
无论如何,多亏你们所有人......
答案 1 :(得分:0)
嗯,使用jQuery 1.3.2,你的例子在点击链接时似乎没有显示FaceBox区域(它保持不可见)。我使用以下View Facebox链接稍微修改了您的示例,现在FaceBox正确显示,并且对话框显示当前信息(在Safari和Firefox中)。这有帮助吗?
<a href="#" onClick="javascript:$('#info').show(); return false;" rel="facebox">View Facebox</a>
答案 2 :(得分:0)
尝试使用alert($('.content #text1').val());
,这是因为facebox在表格中创建潜水的“副本”以显示其“框”并保留相同的ID(您可以看到Firebug发生的情况)
编辑:使用Firefox,Chrome和IE7示例:
<html>
<head>
<title>unable to get value from textbox used inside a facebox</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="facebox/facebox.js"></script>
<link rel="stylesheet" src="facebox/facebox.css"/>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox();
});
function Get_Value() {
alert($('#facebox input:first').val());
}
</script>
</head>
<body>
<div class="example">
<p><a href="#info" rel="facebox">View Facebox</a></p>
<p><input id="Button1" type="button" value="button"
onclick="Get_Value();"/></p>
</div>
<div id="info" style="display:none;">
<form>
<input name="text1" type="text" />
<input type="button" value="button"
onclick="Get_Value();$.facebox.close();"/>
</form>
</div>
</body>
</html>