gpt4 book ai didi

jquery-ui 对话框未在 IE 中发布

转载 作者:行者123 更新时间:2023-12-01 05:55:38 24 4
gpt4 key购买 nike

我有一个jquery ui 对话框,其中包含一堆asp.net 控件。对话框中还有一个 runat="server"按钮,用于将表单发送到服务器。不幸的是,这在 IE 中不起作用。在 Chrome 中,它按预期工作。这是相关的代码片段...

$("#applicationFormDialog").dialog({
autoOpen: false,
width: 780,
height: 550,
title: 'Please enter your career details',
open: function (type, data) {
$(".uploadYourResume").css('display', 'none');
clearAllControls();
var indexToSelect = $('#applicationFormDialog').data('indexVal');
$("#" + "<%=ddlPosition.ClientID %>" + " option")[indexToSelect].selected = true;
debugger;
$(this).parent().appendTo($("form:first"));
},
beforeClose: function (event, ui) {
clearAllControls();
},
resizable: false
});

jQuery UI 版本 = 1.10.1jQuery 版本 = 1.9.1

如果您还需要我提供任何其他信息,请告诉我。

更新:如果我只是简单地放置一个带有 runat='server' 的普通提交按钮,那么这是有效的,但我在提交之前在客户端验证表单,这就是我相信的地方问题是。这是客户端验证方法。

function validateForm() {
// Clear all error divs...
$(".errorSpan").css('display', 'none');

// Build the array.
var arrayOfCtrls = new Array();

arrayOfCtrls.push(new control("<%= txtName.ClientID %>", "", "textbox", 0)); // Name
arrayOfCtrls.push(new control("<%= txtEmail.ClientID %>", "", "textbox", 0)); // Email
arrayOfCtrls.push(new control("<%= txtCity.ClientID %>", "", "textbox", 0)); // City
arrayOfCtrls.push(new control("<%= ddlState.ClientID %>", "", "dropdown", 0)); // State
arrayOfCtrls.push(new control("<%= uploadResume.ClientID %>", "fileUploadErrorSpan", "file", 0)); // Resume
arrayOfCtrls.push(new control("<%= ddlPosition.ClientID %>", "", "dropdown", 0)); // Position
arrayOfCtrls.push(new control("<%= ddlQualification.ClientID %>", "", "dropdown", 0)); // Qualification
arrayOfCtrls.push(new control("<%= ddlExperience.ClientID %>", "", "dropdown", 0)); // Experience


if ($("#" + "<%=ddlExperience.ClientID %>").val() != "Fresher") {
arrayOfCtrls.push(new control("<%= txtCurrCompany.ClientID %>", "", "textbox", 0)); // Current Company
arrayOfCtrls.push(new control("<%= txtWorkingSince.ClientID %>", "", "textbox", 0)); // Working since
arrayOfCtrls.push(new control("<%= txtCurrLocation.ClientID %>", "", "textbox", 0)); // Current Location
}

if (!controlsToValidate(arrayOfCtrls)) {
return false;
}
// Check email address
if (!validEmail((document.getElementById("<%= txtEmail.ClientID %>")).value)) {
document.getElementById("<%= txtEmail.ClientID %>").focus();
document.getElementById("<%= txtEmail.ClientID %>").title = "Please enter a proper email address.";
return false;
}
return true;
}

这些是对话框上的按钮

            <asp:Button ID="btnSubmitForm" runat="server" Text="Submit" OnClientClick="return validateForm()" OnClick="submitForm_Click" />
<input type="button" id="btnClearFields" value="Clear" />
<asp:Button ID="btnClear" runat="server"/>

我添加的最后一个按钮是为了检查回发是否适用于普通按钮,并且工作正常。

更新 #2:有一个问题,在我从脚本返回 true 后,某些 jquery 方法不断被调用。

最佳答案

好吧,我自己来回答这个问题,因为这里没有发布任何内容,部分原因是我提供的信息不足

在我制作的表单中,有一个文件上传控件被隐藏,因为我想设置它的样式。然后我在其位置放置了两个按钮:选择...清除

无论如何according to this thread如果隐藏文件上传控件,IE 将不会发布到服务器。这就是发生的事情。

我无法知道这一点,这就是问题所在,所以对于原始帖子中缺乏信息,我深表歉意。

关于jquery-ui 对话框未在 IE 中发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com