私の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ページにないことを意味します。