javascript是自动调用的

javascript是自动调用的,javascript,jsp,Javascript,Jsp,我有一个javascript函数,每次重新加载jsp时都会自动处理它。。虽然我应该在点击按钮时叫它。。为什么呢 也许我在语法上有错误,你能帮忙吗? 代码如下: <form class="form-grp clearfix mse_pre_init" id="widgetu599" method="post" enctype="multipart/form-data" ><!-- none box --> <div class="clearfix grpelem"

我有一个javascript函数,每次重新加载jsp时都会自动处理它。。虽然我应该在点击按钮时叫它。。为什么呢

也许我在语法上有错误,你能帮忙吗? 代码如下:

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

我相信在将页面发送到浏览器之前,您搞错了jsp。请记住,每个java代码都是在将页面发送到客户端之前执行的。在客户端函数发出javascript onclick操作后,不会执行Java codeserver代码

Java代码在呈现页面时执行。所以,每次重新加载页面时,这些java代码的每一点都会发生


如果您需要使用JavaScript从客户端浏览器到服务器进行通信,而不需要对页面进行客户端重新编码,则需要使用异步技术AJAX Async。JavaScript和Xml。请不要与标题混淆,您可以使用json进行数据交换。

您指的是哪个函数?从客户端查看代码(即查看源代码)可能会有帮助-错误在哪里可能会更清楚。先生,您可以建议什么解决方案?我提供了详细答案并添加了建议。您需要使用AJAX,将数据发送到指定的服务器端点(例如RESTAPI),服务器将处理您的请求并返回结果数据。然后,您可以使用javascript向用户显示此结果数据。没有一种简单的方法可以像您希望的那样执行服务器代码:-。我创建了一个servlet,将代码放在其中,然后调用它们。。但是表单重定向到页面。。。如何防止它重定向?如果您仅使用javascript处理发送表单,并防止将案例中的表单发送到同一页面,则必须从js函数返回false。例如,您可以在此处隐藏信息