我知道有很多人已经提出了类似的问题。我已经阅读了大量的答案,但似乎没有解决我的问题。
我有一个表单,允许用户选择一个文件,并选择应从中导入文件的日期。当日期少于(之前)最后一个导入期间(数据库中的字段跟踪上次导入日期)时,我想显示confirmbox
以提醒用户继续导入可能会覆盖某些数据。用户可以选择“是”继续导入,或选择“否”取消导入。我试过了
的方法的OnClientClick
的asp:按钮
控制。问题是,用户点击提交按钮会立即触发,我不想显示确认框,直到我检查了最后一个导入时间,这将在服务器端{{1 }}。我已经尝试将返回值写入隐藏字段,如下所示:
C#
这也不起作用。我从这里尝试了解决方案:Javascript confirm message problem
不知何故,我似乎无法使用我的解决方案,因为他们正在使用一些if (confirm("This Import Process Will Overwrite Existing Data. Do You Want to Continue?")) {
document.getElementById("ans").value = "Yes";
return true;
} else {
document.getElementById("ans").value = "No";
return false;
}
。我只使用updatePanel
,DatePicker
(用于选择导入数据的客户端)和隐藏字段(如果需要)。如果可以的话请帮忙。我可以调整上述任何一个或全新的解决方案。谢谢。
答案 0 :(得分:1)
试试这个,它对我来说很好:
var c = confirm('Your message');
if (c == true)
{
document.getElementById('<%= HiddenField1.ClientID %>').value = 1;
}
else
{
document.getElementById('<%= HiddenField1.ClientID %>').value = 0;
}
您可以在后面的代码中访问HiddenField。
答案 1 :(得分:1)
试试这个..你会得到隐藏字段的值是或否
<script type="text/javascript">
function ShowConform() {
var confirm_value = document.createElement("INPUT");
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm("Do you want to save data?")) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
var cn = document.forms[0].appendChild(confirm_value).value;
//alert(cn);
var c=document.getElementById('<%= hiddenfeid.ClientID %>').value
c = cn;
// alert(c);
}
</script>