我有情况:客户端程序访问网站时完成的表单,在提交/点击一个asp按钮执行两种行为:使用OnClientClick和OnClick事件?
1)运行打开一个嵌入式形式的iframe到第三方jquery的脚本服务,通过由jQuery创建的URL也获得信息(在这种情况下,docusign)
2)运行一个方法来插入关于提交到sql数据库表的特定数据。
这是我的理解,OnClient必须在OnClick之前触发,以及如果我理解正确需要某种返回/回发来触发onclick/severside方法。所以我的困难一直在试图理解如何最好地使用服务器端方法来激发......任何想法都将不胜感激。起初以为增加某种返回真正的功能,但没有看到这将如何工作。感谢您的任何意见和前瞻性指导。
因此,目前我的ASP按钮OnClientClick调用下面的jQuery打开一个iframe ......我不知道如何也让它回发导致Onclick事件触发?除非我可以从后面调用jquery fire?
(使用jQuery来打开/嵌入形式)
function $$(elem) {return document.getElementById(elem);} //simple id reference
//Powerform/Iframe Specifics
number_messages = 0;
var last_id = "";
function check_messages() { //check for messages from iframe
if (location.hash != last_id) {
last_id = location.hash;
number_messages++;
last_id = last_id.replace("_"," ");
last_id = last_id.substr(1);
last_id = last_id.substr(0,last_id.indexOf("&"));
var message_color;
var extra_text;
if(last_id=="Signing Complete" || last_id=="Viewing Complete"){
message_color="green";
extra_text = "";
}else{
message_color="red";
extra_text = "<p style='text-align:center'><button type='form.button' onclick='window.location=\"embedded.html\"' style='display:inline;'>Reload form?</button></p>";
}
document.getElementById("powerform").innerHTML = "<center><h3 style='color:"+message_color+";border:none;font-size:20px;text-align:center;'>" + last_id + "</h3><br/>"+extra_text+"</center>";
}
}
function open_embeddedform(form) {
var form_url = "https://demo.docusign.net/MEMBER/PowerFormSigning.aspx";
form_url += "?PowerFormId=" + $$("Powerformid").value;
form_url += "&UserName=" + $$("UserName").value;
form_url += "&UserEmail=" + $$("UserEmail").value;
//alert(form_url);
$$("powerform").innerHTML = '<iframe id="document" src="' + form_url + '" border="0"></iframe>';
}
setInterval(check_messages, 200);
这是很多代码来通过。你能把它降低到解释问题所需的最低限度吗? –