我的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")>
如果我使用cfform而不是form,这种方法非常好。
编辑2:
我刚试过$("#adminsignin").submit();
而不是$.ajax
。这给了我ColdFusion页面中的表单数据。这意味着问题在于Jquery.ajax()而不是ColdFusion页面。
答案 0 :(得分:5)
您选择表单以获取数据的选择器是错误的,您需要按名称选择表单
$("form[name=adminsignin]")
或为其指定您要定位的ID
<form id="adminsignin" ...>