iT邦幫忙

0

<解決>兩個Form如何一起確認是否有欄位為空?

想請教各位大師們
form裡面再包一個form的話
做function check_data()時為何無法直接加上

else if (document.myForm2.checkword.value.length == 0)
      alert("驗證碼欄位不可以空哦!");

若要加上驗證碼欄位不可為空的判別應該要如何加??

下面為程式碼

    <script type="text/javascript">
      function check_data()
      {
        if (document.myForm.Account.value.length == 0)
          alert("帳號欄位不可以空白哦!");
        else if (document.myForm.Password.value.length == 0)
          alert("密碼欄位不可以空哦!");
        else 
          myForm.submit();
      }
    </script>
    <form action="check.php" method="post" name="myForm">
        <table width="40%" align="center">
          <tr> 
            <td align="center"  > 
              <font > 使用您的帳號 密碼登錄</font> 
            </td>
          </tr>
          <tr> 
            <td align="center"> 
            <input name="Account" type="text" style="font-size:25px;" placeholder="帳號">
            </td>
          </tr>
          <tr> 
            <td align="center"> 
              <input name="Password" type="Password" style="font-size:25px"placeholder="密碼">
            </td>
          </tr>
         <tr> 
            <td align="center"> 
            <script>
            function refresh_code(){ 

                document.getElementById("imgcode").src="captcha.php"; 
            } 
            </script>   
              <form name="myForm2" method="post" action="./checkcode.php">
                  <p>請輸入下圖字樣: <img id="imgcode" src="captcha.php" onclick="refresh_code()" /><br/>
                  </p>
                  <input type="text" name="checkword" style="font-size:20px" maxlength="10" placeholder="點擊圖片可以更換"/>  
              </form>
            </td>
          </tr>
           <tr>
            <td align="center"> 
              <input type="submit" name="Submit" value="登入" onClick="check_data()"/> 
              <input type="reset" value="重填">
           </td>
          </tr>
        </table>
      </form>

若提供的資訊不足會再補上

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
japhenchen
iT邦超人 1 級 ‧ 2021-08-07 07:33:47
最佳解答

要簡單的話可以用jquery來抓,就不用form來form去(更何況W3C規定不支援巢狀form結構 https://www.w3.org/MarkUp/html3/forms.html ),直接抓input

let inputvalue = $("input[name='checkword']").val();
if(inputvalue===''){
    alert("必需輸入")
}
看更多先前的回應...收起先前的回應...
0805cyc iT邦新手 4 級 ‧ 2021-08-07 10:36:04 檢舉

您好,謝謝您的回覆,但是更改後一樣沒有反應

    <script type="text/javascript">
      function check_data()
      {
        let inputvalue = $("input[name='checkword']").val();
        if(inputvalue==='')
            alert("必需輸入");
        else 
          myForm.submit();
      }

    </script>
小魚 iT邦大師 1 級 ‧ 2021-08-07 10:41:07 檢舉

你有引用jQuery嗎?

0805cyc iT邦新手 4 級 ‧ 2021-08-07 11:17:27 檢舉

沒有引用jQUERY~引用後alert有出來了!謝謝
但發現驗證碼隨便打都可以@@

驗證碼就用AJAX提交給後端來處理吧,前端不要做任何驗證的工作(因為毫無秘密可言)

0805cyc iT邦新手 4 級 ‧ 2021-10-12 23:12:32 檢舉

大師,想請問若本身input欄位type設成hidden的話,要判斷有沒有值也可以用這種方式嗎?

我要發表回答

立即登入回答