チェックを通った時だけForwardさせる

JavaScriptを使って入力項目をSubmitさせるときに、あるチェックを入れて、チェックを通過した時だけSubmitさせたいとき。

  • JavaScriptの記述

    function someoneSelected() {
      var selA = document.mainForm.conditionA.value;
      var selB = document.mainForm.conditionB.value;
      var selC = document.mainForm.conditionC.value;
      if( (""==selA) && (""==selB) && (""==selC) ) {
        alert("リストの選択がされていません。");
        return false;
      }
      return true;
    }

    上の例では、3つのセレクト項目のうち、どの項目も選択されていない時は、Falseを返す。どれかが選択されているときはtrueを返す。

  • JSPの記述

    <form name="mainForm" action="XXXAction">
        <select name="conditionA">
            <option value="" selected></option>
            <option value="aaaa">aaaa</option>
            <option value="bbbb">bbbb</option>
            <option value="cccc">cccc</option>
        </select>
        <select name="conditionB">
            <option value="" selected></option>
            <option value="dddd">dddd</option>
            <option value="eeee">eeee</option>
            <option value="ffff">ffff</option>
        </select>
        <select name="conditionC">
            <option value="" selected></option>
            <option value="gggg">gggg</option>
            <option value="hhhh">hhhh</option>
            <option value="iiii">iiii</option>
        </select>
        <input type="button" value="確 定"
            onclick="return someoneSelected()" />
    </form>

    onClick="return booleanを返す関数()" でScript関数がtrueを返す時だけformの内容をactionで指定した"XXXAction"にsubmitすることができる。