1

AJAX と coldfusion を使用してフォームを送信しています。フォームには、js 関数 login() を呼び出すボタンがあります。この関数は、coldfusion コンポーネントのインスタンスを設定し、cfc コンポーネントで loginUser() メソッドを呼び出します。

ファーストネームとラストネームをjavascriptからloginUser関数に渡すと、すべてうまくいきます。loginUser(firstname,lastname) しかし、実際の電子メール アドレスをフォームに渡そうとすると、CF からエラーが発生します。簡単にするために、loginUser("one","two","three") は機能しますが、loginUser("one","two", "three@") は機能せず、CF は次のメッセージを表示します。

CFC /ATCdev/JanuszChudzynski/MobileWeb/ajax.cfc の呼び出しエラー: 見つかりません [詳細を表示するには、URL パラメーターに「cfdebug」を追加してデバッグを有効にしてください]

そこで、質問が 2 つあります。

1 どうすればうまくいくの?

2 使用している場合、CFDebug を追加するにはどうすればよいですか

<cfajaxproxy cfc="ajax" jsclassname="proxy" /> 

cfc プロキシを設定します。

前もって感謝します!

以下のコードを貼り付けています。

cfc

<cffunction name="loginUser" access = "remote" returntype="string">
        <cfargument name="firstname" type="string" required="true" />
        <cfargument name="lastname" type="string" required="true" />
        <cfargument name="useremail" type="any" required="true" default=""/>
        <cfargument name="license" type="string" required="false" />
        <cfargument name="workshopid" type="string" required="false" />

        <cfreturn "#firstname##lastname##useremail#">

    </cffunction>

JS

function validatelogin(){
        var check = $("#loginForm").valid();
        console.log("check "+check);
        if(check)
        {
            login();    
        }
    }

    function login(){
        var instance = new proxy();
        instance.setCallbackHandler(loginCallback);
        var id = $("input[name='workshop']:checked").val();

        var firstname = $("#firstname").val();
        var lastname = $("#lastname").val();
        var email = $("#email").val();
        var licensenumber = $("#licensenumber").val();
        console.log(id + " " + firstname + " " + lastname + " " + email + " " + licensenumber);

        if(id&&firstname&&lastname&&email&&licensenumber){
            //instance.loginUser(firstname,lastname,email,licensenumber,id);
            console.log(" Email:  "+email);
            instance.loginUser(firstname,lastname,"jchudzynski@");

//          instance.loginU();
        }
        else{
            console.log("Javascript Error. Not all fields are valid."); 
        }
    }

HTML

    <form name="loginForm" id="loginForm" action="loginform.cfm">
    <fieldset data-role="controlgroup">
    <legend>Select your workshop from options below </legend>
    <input type="radio" name="workshop" id="workshop1" class="custom" data-mini="true" value="workshop1" checked/>
    <label for="workshop1">Workshop 1.</label>

    <input type="radio" name="workshop" id="workshop2" class="custom" data-mini="true" value="workshop2"/>
    <label for="workshop2">Workshop 2.</label>

    </fieldset>


<div data-role="fieldcontain">
<label for="firstname" >First Name:</label>
<input type="text" name="firstname" id="firstname" value="" placeholder="First Name" data-mini="true" class="required" />
</div>
<div data-role="fieldcontain">
<label for="lastname" >Last Name:</label>
<input type="text" name="lastname" id="lastname" value="" placeholder="Last Name" data-mini="true" class="required" />
</div>

<div data-role="fieldcontain">
<label for="email" >Email:</label>
<input type="text" name="email" id="email" value="" placeholder="email" data-mini="true" class="required email" />
</div>

<div data-role="fieldcontain">
<label for="licensenumber" >License Number:</label>
<input type="text" name="licensenumber" id="licensenumber" value="" placeholder="License Number" data-mini="true" class="required" />
</div>

<input type="button" value="Login" onclick="validatelogin()"/>
</form>
4

0 に答える 0