iT邦幫忙

0

js 不同檔案間傳資料

  • 分享至 

  • xImage

我想要做防呆功能,可是我的js是在另外寫的一個檔案內

html
上方也有呼叫js

<script src="../js/check_input.js"></script>

在整支程式的最下方我寫了 check()
讓表單在送出前先檢查輸入

function check(){
    if (!check_text(document.getElementById("name").value)){
        alert("請輸入名稱");
        return false;
    }
}

check_input.js

function check_text(value){
    if (value == ""){
        return false;
    }
}

可是這樣的結果好像check_text()接不到傳過去的value
所以不管我有沒有輸入都回傳false
請問應該怎麼改比較好?

如果我寫在同一個檔案內就可以,可是因為會需要檢查很多次,所以才想說寫在另一個檔案內

function check(){
    if (document.getElementById("name").value == ""){
        alert("請輸入名稱");
        return false;
    }
}

這樣寫的話就可以

你沒 return true啊。

沒有return也是視為「否」的。
相信其他邦友已經提供了您所需要的答案

我補充一個寫法,如果後面不會再追加其他判斷的話可以考慮這樣的寫法

function check_text(value) {
// if value is empty return false
return !value == "";
}
ching iT邦新手 5 級 ‧ 2022-09-12 14:14:12 檢舉
謝謝星空~謝謝企鵝~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
Zero皇
iT邦研究生 2 級 ‧ 2022-09-11 22:17:52
最佳解答

值應該是對的有進去,你可以在check_text(value)方法裡面console.log(value);看看,應該有進去,只是你少了return true的情況,以至於有輸入的情況下,check_text(value)方法沒有回傳值(這情況回傳值被視為undefined,js會當作否定的),所以就一直return false,下面給你參考。

function check_text(value) {
  if (value == "") {
    return false;
  } else {
    return true;
  }
}
//或者
function check_text(value) {
  if (value == "") {
    return false;
  }
  return true;
}
ching iT邦新手 5 級 ‧ 2022-09-12 14:13:35 檢舉

了解了~~謝謝解答

我要發表回答

立即登入回答