如何通过MVC中的jquery将值从弹出窗口传递到父窗口

时间:2011-06-21 09:15:41

标签: javascript jquery asp.net-mvc model-view-controller

我的视图页面中有三个按钮,显示“Button1”“Button2”& “Button3”我有三个TextBoxes对应每个按钮说“TextBox1 ”,“TextBox2”& “TextBox3”。当点击任何一个按钮时,我可以打开一个弹出窗口。现在我想从POP up视图将一些值传递给父视图,并将该值传递给TextBox关联器以及正在单击的按钮。我怎么能这样做?

修改

<input type="button" value="Buuton1" id="Button1" style="width:100px;font-family:Verdana; font-size:9px; onclick="window.open( '<%= Url.Action( "Popup", "Home" ) %>');" /> 
<input type="button" value="Button2" id="Button2" style="width:100px;font-family:Verdana; font-size:9px;" onclick="window.open( '<%= Url.Action( "Popup", "Home" ) %>');" /> 
<input type="button" value="Button3" id="Button3" style="width:100px;font-family:Verdana; font-size:9px;" onclick="window.open( '<%= Url.Action( "Popup", "Home" ) %>');" />

2 个答案:

答案 0 :(得分:2)

为文本框添加一个id(例如textBox1),然后尝试这个..这是一个简单的JavaScript。
你不需要jQuery。

window.opener.document["nameForm"].getElementById("textBox1 ").value = "your some values will go here"

答案 1 :(得分:0)

我们可以使用jquery或Javascript来做到这一点。在这里,我们将讨论电子邮件ID更新。

在下面的示例中,将打开一个弹出窗口,其中包含来自父窗口的自动填充电子邮件ID。 更新后,电子邮件将在父窗口文本框中自动更新,弹出窗口将自动关闭。

示例:

1)将文件index.html创建为父窗口

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<html>
<title></title>
<head></head>

<body>
<table>

<tr>
<td colspan=”2″>Example for update email id.</td>
</tr>
<tr>
<td>Email Id:</td>
<td>
<input type=’text’ name=”emailID” id=”emailId” value=”demo@demo.com”></td>
</tr>
<tr>
<td>
<input type=”button” name=”update” value=”Update”
onClick=’window.open(“update_popup.html”, “”, “width=400, height=300″)’>
</td>
</tr>
</table>
</body>
</html> 

2)创建文件update_popup.html作为弹出窗口,其中电子邮件ID从父窗口自动填充以进行更新。

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<html>
<title></title>
<head></head>
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js”></script>
<script>
$(document).ready(function(){

//== pre fill parent window email id in popup window for update

var emailId = window.opener.document.getElementById(“emailId”).value;
$(“#emailId”).val(emailId);

//=== update updated email id in to parent window

$(“#Save”).on(‘click’,function(){

var updated_emailId = $(“#emailId”).val();
window.opener.document.getElementById(“emailId”).value = updated_emailId;
window.close();
});
});
</script>

<body>
<table>
<tr>
<td>Email Id:</td>
<td>
<input type=’text’ name=”emailID” id=”emailId” value=””></td>
</tr>
<tr>
<td><input type=”button” name=”Save” id=”Save” value=”Save”></td>
</tr>
</table>
</body>
</html>

点击更多。

http://www.delhincrjob.com/blog/how-to-get-the-parent-window-element-value-in-popup-window-using-jquery/