私はjQueryを初めて使用し、aspxフォームで使用する次のjsを理解しようとしています。「オブジェクト関数にはメソッド「parseJSON」がありません」というエラーが発生しています。カスタム関数を使用し、代わりに使用する jQuery セレクターを作成することをお勧めします。セレクターは $("#powerform") のように見える必要があることを理解するようになりましたが、送信ボタンをクリックしたときに iframe/webform を呼び出すのに問題があります。私は何を理解するのに苦労しています:
function $(elem) {return document.getElementById(elem);} //simple id reference
これにより、Webページのエラーが発生するため、セレクターを作成しようとします。完全な js は次のようになります。
function $(elem) {return document.getElementById(elem);} //simple id reference
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='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?PowerFormId=5044d9a2-341d-4490-9f9a-cd5f29fdcc62";
form_url += "&Therapist_UserName=" + $("Therapist_UserName").value;
form_url += "&Therapist_Email=" + $("Therapist_Email").value;
//for (var i=0; i < form.Windows.length; i++) {
// if (form.Windows[i].checked) {
// form_url += "&Windows=" + form.Windows[i].value;
//}
//}
//alert(form_url);
$("powerform").innerHTML = '<iframe id="document" src="' + form_url + '" border="0"></iframe>';
}
setInterval(check_messages, 200);
それに付随するhtmlは次のとおりです。
<div id="powerform" runat="server">
<script type="text/javascript" src="jscripts/open_powerform.js"></script>
<form name="embedded_powerform" action="open_form(this.form);">
<label for="Therapist_UserName">Full Name</label>
<input type="text" name="Therapist_UserName" id="Therapist_UserName">
<div class="clear"></div>
<label for="Therapist_Email">Email</label>
<input type="text" name="Therapist_Email" id="Therapist_Email">
<div class="clear"></div>
<br><center>
<button type="button" onclick="open_embeddedform(this.form);">Submit</button></center>
</form>
</div>
このような初歩的な質問と長い投稿で申し訳ありません。可能であれば、誰かのフィードバックに感謝します。ありがとう