2010-06-09 10 views
9

पर टेक्स्टबॉक्स मान खोना एक पृष्ठ में मेरे पास एक लिंक है; उस पर क्लिक करने से एक संवाद खुलता है और उस संवाद के लिए टेक्स्टबॉक्स मान सेट होता है।पोस्टबैक

हालांकि, एक बार जब मैं उस संवाद में सबमिट करने पर क्लिक करता हूं, तो टेक्स्टबॉक्स मान शून्य है।

लिंक:

<a href="#" onclick="javascript:expand('https://me.yahoo.com'); 
jQuery('#openiddialog').dialog('open'); return false;"> 
<img id="yahoo" class="spacehw" src="/Content/Images/spacer.gif" /></a> 

स्क्रिप्ट:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
    jQuery("#openiddialog").dialog({ 
     autoOpen: false, 
     width: 600, 
     modal: true, 
     buttons: { 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 
function expand(obj) { 
    $("#<%=openIdBox.ClientID %>").val(obj); 
} 

संवाद:

<div id="openiddialog" title="Log in using OpenID"> 
<p> 
    <asp:Label ID="Label1" runat="server" Text="OpenID Login" /> 
    <asp:TextBox ID="openIdBox" EnableViewState="true" runat="server" /> 
    <asp:JButton Icon="ui-icon-key" ID="loginButton" runat="server" Text="Authenticate" OnClick="loginButton_Click" /> 
    <asp:CustomValidator runat="server" ID="openidValidator" ErrorMessage="Invalid OpenID Identifier" ControlToValidate="openIdBox" EnableViewState="false" OnServerValidate="openidValidator_ServerValidate" /> 
    <br /> 
    <asp:Label ID="loginFailedLabel" runat="server" EnableViewState="False" Text="Login failed" Visible="False" /> 
    <asp:Label ID="loginCanceledLabel" runat="server" EnableViewState="False" Text="Login canceled" Visible="False" /> 
</p> 
</div> 

उत्तर

7

मैं लगा:

मैं, फार्म के लिए संवाद संलग्न करने के लिए इस लाइन जोड़ने के लिए के रूप में jQuery संवाद शरीर के लिए संलग्न कर देता है:

$("#openiddialog").parent().appendTo(jQuery("form:first")); 

पूरी स्क्रिप्ट अब इस तरह दिखना चाहिए:

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery("#openiddialog").dialog({ 
     autoOpen: false, 
     width: 600, 
     modal: true, 
     buttons: { "Cancel": function() { 
      $(this).dialog("close"); 
     } 
     } 
}); 
$("#openiddialog").parent().appendTo(jQuery("form:first")); 
}); 
function expand(obj) { 
    $("#<%=openIdBox.ClientID %>").val(obj); 
} 

1

क्यों आप पाठ बॉक्स आईडी से पहले # जोड़ सकता हूँ? मुझे लगता है कि आप उपयोग करना चाहिए:

function expand(obj) { 
    $("<%=openIdBox.ClientID %>").val(obj); 
} 
+0

आईडी पर आधारित तत्व का चयन करने के लिए ... यदि मुझे गलत नहीं है .. यहां तक ​​कि आप हैश को हटाते हैं, यह एक वर्ग चयनकर्ता –

+0

मुझे भूल जाता है कि यह JQuery – Kate

+0

मुझे खेद है लेकिन क्या है? – Kate