如何在JSP中将JavaScript值传递给Scriptlet,这是我的代码

时间:2014-04-23 08:41:16

标签: java javascript jsp

<script>
$(document).ready(function(){
    $(".submit").click(function(){

        int diff1=$(this).val();
        document.write("here"+diff1);
        if(diff1 > 31) {
            alert("You can't extend more than one month");
        } else {
            window.location.href = " thnks.jsp ";
        }
    });
});
</script>

另一个脚本在这里是wriitten,这是一个数据选择器

<script>
window.addEvent('domready', function(){
    new Picker.Date('vista', {
        pickerClass: 'datepicker_vista'
    });
    new Picker.Date('start', {
        pickerClass: 'datepicker_jqui'
    });

    new Picker.Date('vista', {
        pickerClass: 'datepicker_vista'
    });
    new Picker.Date('end', {
        pickerClass: 'datepicker_jqui'
    });
});
</script>

这是我的jsp代码

<div  id="main" style="width:750px ; text-align:left;">
  <form class="contact_form" name="contact_form">
    <ul>

    <li>
      <h2>Extension of Date for Customer :- <%= alias%> </h2>
    </li>
    <li>
      <label for="jqui">Extend Date Here:</label>
      <input type="text" id="start" name="start" pattern="\d{4}/\d{1,2}/\d{1,2}"  value='<%= sdf.format(edate) %>' required />

      <!-- <input id=start name="edate" type="text" value='<//%= sdf.format(edate) %>'/> --> 
      <input name="env_id" type="hidden" value= '<%= rs.getInt(6) %>' />
    </li>
   <% 
    Date exp_date = start ;
        java.util.Date cur_date = new java.util.Date();
        long   diff= exp_date.getTime() - cur_date.getTime();
        long diff1=diff/(24 * 60 * 60 * 1000);
        System.out.println(diff1);
       %>
     <li>
   <button id="submit" class="submit" value='<%= diff1 %>>' > Submit </button>
     </li> 
     <li>
       <p> <font color="red">Note: You can extend only upto one month </font></p>
     </li>
   </ul>
</form>

你能否告诉我如何计算差异并将其结果传递给条件应该检查​​的脚本。是否有其他方法可以执行此操作?

1 个答案:

答案 0 :(得分:2)

如果你想这样做的话 在jsp中创建两个隐藏字段,并通过java脚本分配它们的值。 然后你将页面或ajax调用pass作为查询字符串提交给jsp / servlet,这样你就可以在jsp / servlet中获得这样的值。