chyman-91
chyman-91

Reputation: 263

How to save form input into session variable using ColdFusion?

I am trying to save form input into session variable using ColdFusion. I have tried many methods that I found posted on websites, but none of it is working on my code. Can anyone guide me on this?

Below is my full code.

<html>
    <head>
        <link rel="STYLESHEET" href="css/iesync2.css" type="text/css">
        <link rel="STYLESHEET" href="css/iesync_style(awps).css" type="text/css">
        <!--- <link rel="stylesheet" href="css/bootstrap-3.3.6-dist/js/jquery-ui-1.8.10.custom.css" /> --->
        <link href="css/bootstrap-3.3.6-dist/js/bootstrap.min.css" rel="stylesheet">
        <script src="css/bootstrap-3.3.6-dist/js/jquery-1.11.3.min.js"></script>
        <!--- <script src="css/bootstrap-3.3.6-dist/js/jquery-migrate-1.2.1.min.js"></script>
        <script src="js/iesync_popup.js"></script> --->
        <script language="javascript" src="css/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script>
        <cfoutput>
            <script language="JavaScript">
                function check() {
                    var f = document.frmAddModel;
                    if (f.brandName.value.length == 0) {
                        alert("Please Insert Brand Name");
                        f.brandName.focus();
                        return;
                    } else if (f.brandName.value.length > 0){
                        /*window.close();*/
                    }
                }
            </script>
        </cfoutput>
    </head>
    <body>
        <cfoutput>
        <cfif structKeyExists(form,"submit")>
            <cfset session.brandName = "#form.brandName#">
        </cfif>
        <center>
            <div>
                <form name="frmAddModel" action="" method="post" onSubmit="">
                <br />
                <table border="0" cellpadding="2" cellspacing="2" width="50%">
                <tr>
                    <td colspan="2" align="left" class="cssSubTitleC">Model</td>
                </tr>
                <tr class="cssLine2L">
                    <td align="left">Brand Code (optional)</td>
                    <td><input type="Text" name="brandcode" size="25" class="cssForm" maxlength="10"></td>
                </tr>
                <tr class="cssLine2L">
                    <td align="left" class="cssLine2L">Brand Name<font class="cssRequired">*</font></td>
                    <td><input type="Text" name="brandName" size="25" class="cssForm" maxlength="10"></td>
                </tr>
                </table>

                <table border="0" width="50%" style="padding: 10px;">
                <tr>
                    <td class="cssButtonLine" colspan="2">
                        <input type="button" name="submit" class="btn btn-primary" onclick="check()" value= "Save">
                    </td>
                </tr>
                </table>
                </form>
            </div>
        </center>
        </cfoutput>
    </body>
</html>

Upvotes: 0

Views: 681

Answers (2)

BKBK
BKBK

Reputation: 484

Change field type from 'button' to 'submit':

<input type="submit" name="submit" class="btn btn-primary" onclick="check()" value= "Save">

Upvotes: 0

Miguel-F
Miguel-F

Reputation: 13548

You are never submitting the form in your JavaScript. Add an id to your form and this $("#form-id").submit(); to your function and try again.

Add an id to your form:

<form name="frmAddModel" id="frmAddModel" action="" method="post" onSubmit="">

Then add this $("#frmAddModel").submit(); to your function:

<script language="JavaScript">
    function check() {
        var f = document.frmAddModel;
        if (f.brandName.value.length == 0) {
            alert("Please Insert Brand Name");
            f.brandName.focus();
            return;
        } else if (f.brandName.value.length > 0){
            $("##frmAddModel").submit();
            /*window.close();*/
        }
    }
</script>

NOTE: you need to use double hash-tags ## because your JavaScript function is currently wrapped by cfoutput tags. Although that does not appear to be necessary as currently written.

Upvotes: 1

Related Questions