none
Compatibilidad con Google Chrome (El valor de retorno es undefined) RRS feed

  • Pregunta

  • Buenas, tengo un problema con el ReturnValue en los popup que me devuelven undefined en chrome, pero en IE funciona perfectamente, ahora he intentado colocar condiciones en caso de no ser windowmodaldialog, ejemplo:

    if (window.showModalDialog) {
                this._PopupReturnValue = window.showModalDialog(completeUrl, this._PopupName, "dialogWidth:" + this._PopupWidth + ";dialogHeight:" + this._PopupHeight);
            } else {
                this._PopupReturnValue = window.open(completeUrl, this._PopupName, 'height=' + this._PopupHeight + ',width=' + this._PopupWidth + ',toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no');
            }

    Ademas mi apliación WEB posee un Codigo en Javascript, en el ScriptManager que yo diseñe el cual asigna el valor de retorno y cierra el PopUp, Ejemplo:

     public string GenerateCloseWindowScript()
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("function closeWindow(value){");
                sb.AppendLine("    window.returnValue = value;");
                sb.AppendLine("    window.close();");
                sb.AppendLine("    return false;");
                sb.AppendLine("}");
                return sb.ToString();
            }

    Quisiera saber como hacer que retorne el valor al Textbox de manera correctamente y no sea undefined, como pasa en el navegador Chrome, aquí muestro el código que hace el trabajo de asignar dicho valor: 

                sb.AppendLine("function _CTCReturnSearch()");
                sb.AppendLine("{");
                sb.AppendLine("    var ppe  = $find('" + ppe.BehaviorID + "');");
                sb.AppendLine("    if ($get('" + hdn.ClientID + "') != null) {");
                sb.AppendLine("        var hdn  = $get('" + hdn.ClientID + "').value;");
                sb.AppendLine("    }");
                sb.AppendLine("    var txt  = $get('" + txt.ClientID + "');");
                sb.AppendLine("    if (ppe.get_PopupReturnValue() != '' && ppe.get_PopupReturnValue() != undefined  && hdn == '')");
                sb.AppendLine("    {");
                sb.AppendLine("        var aux = ppe.get_PopupReturnValue();");
                sb.AppendLine("        txt.value = aux;");
                sb.AppendLine("    }");
                sb.AppendLine("}");
    Se agradece sus respuestas y cualquier duda del código preguntarme al respecto.

    viernes, 21 de octubre de 2016 18:14

Todas las respuestas

  • hola

    >>Quisiera saber como hacer que retorne el valor al Textbox de manera correctamente y no sea undefined, como pasa en el navegador Chrome,

    si usas jquery podrias usar el selecto "*=" en lugar del ClientID

    var hdn = $("[id*='hdn']");

    no se de donde sale "hdn" si quizas este es el nombre del control

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 21 de octubre de 2016 20:02