как отправить форму без использования кнопки отправки в сервлете - PullRequest
0 голосов
/ 27 марта 2011
if(Category.equals("Seasonal Decorations")){
    out.println("<form name='adddeco' id='adddeco' method='post'>");
    out.println("<input type=hidden name=cater value=decos>" +
                "<table border=0 colspan=5 >" +
                "<tr><th>Name & Description of DECORATION </th><th><input type=text name=deco_itemname width=30></th></tr>");
    out.println("<tr><th>Product ID                  </th><th><input type=text name=deco_PID width=30></th></tr></table>");
    out.println("<tr><th>Provider                    </th><th><input type=text name=deco_provide width=30></th></tr>");
    out.println("<tr><th>AVAILIBILTY</th><th><select name=DECO_AVAIL>"+
                "<option>UNAVAILABLE</option>" +
                "<option>AVAILABLE</option></select></th></tr>");
    out.println("<tr><th>No.of DECORATION                 </th><th><input type=text name=deco_qnty width=30></th></tr>");
    out.println("<tr><th>Shelf NO                    </th><th><input type=text name=deco_shelfno width=30></th></tr>");
    out.println("<tr><th>Original Price              </th><th><input type=text name=deco_orgprice width=30></th></tr>");
    out.println("<tr><th>Selling Price               </th><th><input type=text name=deco_sellprice width=30></th></tr>");
    out.println(" <input type=button value=add onclick='$(#adddeco).attr(action,additem1);$(#adddeco).submit();'>&nbsp;&nbsp;&nbsp;<input type=reset value=clear>" +
                "</form>");

Выше приведен мой код в сервлете для ввода значения в БД, но проблема в том, что я не могу перенести эту форму на следующую страницу, как вы видите, я не используювместо кнопки «отправить» я использую событие onclick = ''.Приведенный выше код работает в JSP, если "out.println ();"удаляется, но, как вы видите, мне нужно сравнивать category.equals("seasonal decorations") и запускать на конкретном коде только при необходимости, поэтому, если кто-нибудь, кто знает, как решить эту конкретную проблему, пожалуйста, помогите мне.помните, что я не могу использовать кнопку sumbit для отправки, так как я использую сканер штрих-кода.

Ответы [ 2 ]

0 голосов
/ 27 марта 2011

Вам, вероятно, следует прочитать и использовать JSTL , чтобы сделать ваш код более читабельным. Это позволяет вам использовать операторы if и другие управляющие структуры, не прибегая к коду Java. Пример:

<c:if test="category eq 'Seasonal Decorations'">
   <form name="adddeco" id="adddeco" method="post">
   ...
   </form>
</c:if>
0 голосов
/ 27 марта 2011

Старайтесь не писать HTML из сервлета, это плохая практика.Трудно понять, трудно поддерживать, и читаемость ужасна.Эта работа лучше всего подходит для JSP.

Ваша проблема в том, что генерируемый JavaScript-код недействителен.Если вы проверите источник выходной страницы, вы заметите, что печатаете:

<input type=button value=add onclick='$(#adddeco).attr(action,additem1);$(#adddeco).submit();'>

Обратите внимание, что вокруг аргумента $() нет кавычек.Это должно быть):

out.println("<input type=button value=add onclick='$(\"#adddeco\").attr(action,additem1);$(\"#adddeco\").submit();'>&nbsp;&nbsp;&nbsp;<input type=reset value=clear>" 

Все это экранирование кавычек является большой причиной, почему вы должны использовать вместо этого JSP.

...