2

私のColdFusionページには以下のフォームがあります。

<form name="adminsignin" action="swipelogin.cfm" method="POST">
    <input type="password" class="rounded" name="adminpin" id="adminpin">
    <input type="submit" value="Sign In" name="adminpinbutton" id="adminpinbutton">
</form>

ボタンをクリックすると、次のようにJQueryを使用してフォームを送信します。

$("#adminpinbutton").click(function(e) {
        e.preventDefault();
        if ($.trim($('#adminpin').val()).length > 0) {
            $.ajax({
                type: 'POST',
                url: 'swipelogin.cfm',
                data: $('#adminsignin').serialize(),
                success: function(data, textStatus) {
                    $('#inputarea').replaceWith($('#inputarea', $(data)));
                },
                error: function(xhr, status, e) {
                    alert(status, e);
                }
            });
        } else {
            alert("PIN missing or Incorrect.");
        }
    });

問題は、swipelogin.cfmページ内でフォームの入力要素にアクセスできないことです。試しましたがform.adminpin、機能しません。私は何かが足りないのですか?

編集:swipelogin.cfmコード

<cfoutput>#form.adminpin#</cfoutput>
<cfif (#isDefined("form.adminpin")#) OR (#isDefined("session.isadmin")# AND #session.isadmin# eq "true")>

formの代わりにcfformを使用すると、これは完全に正常に機能します。

編集2:$("#adminsignin").submit();の代わりに 試しました$.ajax。これにより、ColdFusionページのフォームデータが得られます。これは、問題がJquery.ajax()にあり、ColdFusionページにないことを意味します。

4

1 に答える 1

5

フォームを選択してデータを取得するためのセレクターが間違っています。名前でフォームを選択する必要があります

$("form[name=adminsignin]")

または、ターゲットにしている ID を指定します

<form id="adminsignin" ...>
于 2013-01-25T21:10:46.707 に答える