2016-11-09 2 views
0

Я пытаюсь сохранить ввод формы в переменную сессии с помощью ColdFusion. Я пробовал много методов, которые я нашел на веб-сайтах, но ни один из них не работает над моим кодом. Может ли кто-нибудь помочь мне в этом?Как сохранить ввод формы в переменную сессии с помощью ColdFusion?

Ниже приводится мой полный код.

<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> 
+0

Все выше тела тега не имеет значения. Это, и горизонтальные полосы прокрутки отговорили меня от чтения чего-нибудь еще. –

+0

Будьте осторожны с областью сеанса. Значения могут меняться из-за действий пользователя, которые вы, возможно, не предполагали. –

ответ

1

Вы никогда не отправляете форму в свой JavaScript. Добавьте id к вашей форме и этому $("#form-id").submit(); к вашей функции и попробуйте еще раз.

Добавить id в форму:

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

Затем добавить $("#frmAddModel").submit(); к вашей функции:

<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> 

ПРИМЕЧАНИЕ: Вы должны использовать двойные хэш-теги ##, потому что ваша функция JavaScript является в настоящее время завернуты тегами cfoutput. Хотя это, как представляется, не является необходимым, как в настоящее время написано.

0

Изменение типа поля от «кнопки», чтобы «представить»:

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