-1

私は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>

このような初歩的な質問と長い投稿で申し訳ありません。可能であれば、誰かのフィードバックに感謝します。ありがとう

4

1 に答える 1

0

$ 関数は jQuery で既に定義されているため、定義する必要はありません。コードから $ 関数を削除する必要があります。

このコード: $("Therapist_UserName").value;ID 名の前にハッシュ文字 (#) が必要であり、.value 部分は val() である必要があります。次のコードに変更してみてください。

$("#Therapist_UserName").val();

...同じことを Therapist_Email にも行う必要があります。

最後に、onclick 属性には、関数を JS として識別するための JavaScript ラベルが必要です。これに変更してみてください:

onclick="javascript:open_embeddedform(this.form);"
于 2013-09-25T20:13:59.833 に答える