-1

我有这样的情况,客户去一个网站完成一个网络表单,并在提交/点击一个 asp 按钮时执行两个动作:

1) 运行一个 jquery 脚本,该脚本为第三方服务打开一个嵌入表单的 iframe,该第三方服务也通过 jquery 创建的 url 获取信息(在本例中为 docusign)

2) 运行一种方法,将有关提交的特定数据插入到 sql 数据库表中。

我的理解是 OnClient 必须在 OnClick 之前触发,并且如果我正确理解需要触发 onclick/severside 方法,则必须进行某种返回/回发。所以我的困难一直是试图了解如何最好地让服务器端方法触发......任何想法将不胜感激。起初想添加某种 return true 函数,但不知道这是如何工作的。感谢您的任何意见和前瞻性指导。

所以目前我的 asp 按钮 OnClientClick 调用以下打开 iframe 的 jquery ......我不知道如何让它回发以导致 Onclick 事件也触发?除非我可以让 jquery 从后面触发/调用?

(用于打开/嵌入表单的 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);
4

2 回答 2

0

确保您的Onclientclick调用返回 true。查看这篇文章了解更多详情。

于 2013-11-01T00:09:25.930 回答
0

您能否将服务器端作为 PageMethod 或 Web 服务运行,客户端向其发送 Ajax 请求以及有关提交的信息?这样,您还可以向用户返回成功以显示一些完成消息。

于 2013-10-31T23:54:44.647 回答