ColdFusion表单提交问题

Vai*_*esh 2 ajax coldfusion

我的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>
Run Code Online (Sandbox Code Playgroud)

单击按钮,我使用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.");
        }
    });
Run Code Online (Sandbox Code Playgroud)

问题是在swipelogin.cfm页面中,我无法访问表单的输入元素.我试过了form.adminpin,但是没用.我错过了什么吗?

编辑:swipelogin.cfm代码

<cfoutput>#form.adminpin#</cfoutput>
<cfif (#isDefined("form.adminpin")#) OR (#isDefined("session.isadmin")# AND #session.isadmin# eq "true")>
Run Code Online (Sandbox Code Playgroud)

如果我使用cfform而不是form,这完全正常.

编辑2: 我只是尝试$("#adminsignin").submit();而不是$.ajax.这给了我ColdFusion页面中的表单数据.这意味着问题在于Jquery.ajax()而不是ColdFusion页面.

use*_*654 5

您选择表单以获取数据的选择器是错误的,您需要按名称选择表单

$("form[name=adminsignin]")
Run Code Online (Sandbox Code Playgroud)

或者给它你的目标身份

<form id="adminsignin" ...>
Run Code Online (Sandbox Code Playgroud)