gpt4 book ai didi

javascript - 无法从 iframe 中找到 FileHiddenName

转载 作者:可可西里 更新时间:2023-11-01 02:08:28 26 4
gpt4 key购买 nike

我正在使用 iframe 上传图片。所以我有两个文件 - iframe 文件和将显示图像的文件。单击显示 iframe 的链接时,将运行此代码:

function ShowUploadImageOut(RecordID) {
$('#<%=hfPieceID.ClientID %>').val(RecordID);
$("#dvAddImageOutturn").html(
'<iframe id="iframeUpload" src="utilities/UploadPOD.aspx?id=uploadOutturn"></iframe>'
);
}

在 iframe 上是一个上传按钮,可以将图片保存到计算机上的文件夹中,并将图片文件名设置为 FileNameHidden

protected void btnUpload_Click(object sender, EventArgs e)
{
if (fuUpload.HasFile)
{
if (Request.QueryString["id"] == "uploadOutturn")
{
String Path = ConfigurationManager.AppSettings["PieceOutturnFolder"].ToString()
+ Company.Current.CompCode;
string FileName = fuUpload.FileName;

if (File.Exists(Path + "/" + FileName))
{
File.Delete(Path + "/" + FileName);
}

fuUpload.SaveAs(Path + "/" + FileName);
filename = FileName;
imgTemp.ImageUrl = "/thumbnail.ashx?ImgFilePath=" + Path.Replace("/", "\\")
+ "\\" + FileName + @"&width=200&height=400";
FileNameHidden.Value = FileName;
}
}
}

FileNameHidden 将属性 clientidmode 设置为 "static":

<input type="hidden" id="FileNameHidden" runat="server" clientidmode="Static" />

在显示图像的页面上有一个保存按钮。此按钮从 FileNameHidden 获取值并将其设置为隐藏字段。这个新的隐藏字段用于将文件名保存到数据库中:

<asp:HiddenField ID="hfUploadedPieceHubImageFile" runat="server" />

<div id="dvAddEditImageOutturn" class="dvdraggable">
<div id="dvAddImageOutturn"></div>

<asp:LinkButton ID="btnPieceHubUpdateImage"
onclick="btnUpdatePieceImage_Click"
OnClientClick="CloseUploadWindow();return GetPieceOutturnFilename();"
CssClass="btnSaveSmall"
runat="server"
></asp:LinkButton>
</div>

function GetPieceOutturnFilename() {
if ($('#iframeUpload').contents().find('#FileNameHidden').length > 0) {
$("#<%= hfUploadedPieceHubImageFile.ClientID %>").val(
$('#iframeUpload').contents().find('#FileNameHidden').val()
);
}
return true;
}

问题出在 GetPieceOutturnfile 函数中。 $('#iframeUpload').contents().find('#FileNameHidden').length 始终为零。它应该从 iframe 中找到 FileNameHidden

通过代码我可以看到 FileNameHidden 肯定设置了图像的名称:

<input name="FileNameHidden" type="hidden" id="FileNameHidden" value="test.jpg">

所以我不明白为什么它说长度为零

最佳答案

问题出在 onClientClickbtnPieceHubUpdateImage 上:

OnClientClick="CloseUploadWindow();
return GetPieceOutturnFilename();"

它先关闭窗口,然后尝试从 Iframe 保存 FileNameHidden。交换它们以便调用 GetPieceOutturnFileName 首先解决了问题。

关于javascript - 无法从 iframe 中找到 FileHiddenName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159319/

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