47

関数を呼び出そうとしていますがresetyear、それも呼び出されていますが、フローは で停止しalert("over")ます。に制御を移しませんresetmaster

    String flag = "";
    flag = (String) session.getAttribute("flag");
    System.out.println("flag = " + flag);
    if (flag == null) {
        flag = "";
    }
    if (flag.equals("yes")) {
%>   
<script>
   
   alert(1);
  // resetyear();
    dontreset();
    //document.getElementById("checkyear").value = "1";
    //alert(document.getElementById("checkyear").value);
    
</script>
<%} else if(flag.equals("no"))
    {%>
<script>
    alert(2);
    //document.getElementById("checkyear").value = "2";
    //alert(document.getElementById("checkyear").value);
    resetyear();
</script>
<%}else{}%>


function resetyear(){

if(confirm("DO YOU WANT TO RESET THE YEAR?"))
{
    alert("hello");
    //document.forms['indexform'].action = "resetmaster";
    //alert(document.forms['indexform'].action);
    //document.forms['indexform'].submit();  
    alert("over");
    form.action = "resetmaster";
    form.submit();
    alert(1);
}
4

5 に答える 5

6

Google Chrome では問題なく動作するようです。どのブラウザを使用していますか? ここで証明http://jsfiddle.net/CN8XL/

とにかく、 を介して入力値パラメーターにアクセスすることもできますdocument.FormName.checkyear.value。以下に示すように、適切な属性を使用して、入力を<form>タグでラップする必要があります。name

<form name="FormName">
    <input type="hidden" name="checkyear" id="checkyear" value="">
</form>

jQueryライブラリの使用を検討したことがありますか? 関数のドキュメント.val()は次のとおりです。

于 2013-10-07T19:44:41.660 に答える
6

要素が存在した後にスクリプトを実行する必要があります。<input type="hidden" name="checkyear" id="checkyear" value="">を先頭に移動します。

于 2013-10-07T19:29:28.693 に答える