2015-09-02 2 views
0

У меня есть функция javascript, которая постоянно обрабатывается автоматически каждый раз, когда я перезагружаю jsp. Хотя я должен был называть его нажатием кнопки ... почему?javascript вызывается автоматически

Возможно, у меня есть ошибки в синтаксисе, вы можете помочь? вот код:

<form class="form-grp clearfix mse_pre_init" id="widgetu599" method="post" enctype="multipart/form-data" ><!-- none box --> 
<div class="clearfix grpelem" id="u604-4"><!-- content --> 
    <p>Submitting Form...</p> 
</div> 
<div class="clearfix grpelem" id="u606-4"><!-- content --> 
    <p>The server encountered an error.</p> 
</div> 
<div class="clearfix grpelem" id="u605-4"><!-- content --> 
    <p>Form received.</p> 
</div> 
<input class="submit-btn NoWrap grpelem" id="u607-17" type="submit" value="" tabindex="3" onClick = "printform()"/><!-- state-based BG images --> 
<script> 


function printform(){ 

    admit(); 

} 

function admit(){ 
     <% 
     String assessment_id = ""; 
     String section = ""; 
     String s_id = (String)session.getAttribute("id"); 
     String payment1; 

     PreparedStatement pst, pst1; 
     Connection con; 
     ResultSet rs; 

    try{ 

     String sql2="select * from assessment_tbl order by assessment_id + 1"; 
     Class.forName("com.mysql.jdbc.Driver"); 
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/system", "root",""); 
    pst = con.prepareStatement(sql2); 
    rs = pst.executeQuery(); 
     if(rs.last()){ 

      String ass = rs.getString("assessment_id"); 
      int a = Integer.parseInt(ass); 
      int b = a + 1; 
      String asss = Integer.toString(b); 
      assessment_id = asss; 

     } 
     else{ 

      assessment_id = "1"; 

     } 


    {%> 
    var a = document.getElementById("payment"); 
    var b = a.options[a.selectedIndex].text; 

    if(b === "Full Payment"){ 
     if(document.getElementById("id1").checked || document.getElementById("id2").checked || document.getElementById("id3").checked){ 

      alert('Select Insallment First!'); 

     } 
     else{ 
     <%payment1="1"; 
     String sqlhaha= "Insert into assessment_tbl values ('"+assessment_id+"', '"+con_num+"', '"+section+"', '"+s_id+"', '"+payment1+"', '"+year1+"')"; 
     pst1=con.prepareStatement(sqlhaha); 
     pst1.executeUpdate(); 

     %> 



    } 
    } 
    else{ 

     if(document.getElementById("id1").checked){ 




     } 
     else if(document.getElementById("id2").checked){ 



     } 
     else if(document.getElementById("id3").checked){ 



     } 
     else{ 
      alert('Select Semestral/Quarterly/Monthly'); 
     } 

    } 
    <%} 





    } 
    catch(Exception e){ 



    } 

%> 


} 
</script> 
</form> 
+0

Эта функция относится к –

+3

Возможно, вам будет полезно увидеть код со стороны клиента (он же «Просмотр источника») - может быть более ясным, где ошибка. – allicarn

ответ

0

Я считаю, что вы ошибались, что происходит с JSP, прежде чем ваша страница отправляется в браузер. Помните, что каждый код Java <% java code %> выполняется перед отправкой страницы на клиентскую сторону. Код Java (код сервера) не будет выполняться после запуска javascript onclick action (функция на стороне клиента admit()).

Код Java <% %> выполняется, когда страница отображается. Поэтому каждый маленький бит этого java-кода будет происходить каждый раз, когда вы перезагружаете страницу.

Если вам необходимо связаться с клиентской стороны (браузером) на сервере с использованием JavaScript (без страницы переадресации клиентов), вам необходимо использовать асинхронную технологию AJAX (Async. JavaScript и Xml). Не путайте с заголовком, который вы можете использовать, например, json для обмена данными.

+0

Какие решения вы могли бы предложить сэр? –

+0

Я добавил в редакцию ответ и добавил предложение. Вам необходимо использовать ** AJAX **, вы будете отправлять данные в указанную конечную точку сервера (например, ** REST ** api), и сервер будет обрабатывать ваш запрос и возвращать данные результата. Затем вы можете показать эти данные результата пользователю с помощью javascript. Нет простого способа для выполнения кода сервера, как вы хотели бы :-(. –

+0

Я сделал сервлет, где я поместил коды, затем я их назвал .. но форма перенаправляется на страницу ... как я могу предотвратить это от перенаправления? –

Смежные вопросы