2016-03-04 73 views
0

我想輸入一個時間,並讓它返回給我,所以我可以提醒它。我得到兩個錯誤:1)「time.split不是一個函數」(我猜是因爲我沒有傳遞一個字符串2),當我嘗試將.toString()添加到參數或time.toString( ).split(/:/)它不能正確返回。我將如何獲得它以提醒時間?謝謝!警報輸入時間返回不正確

function changeTime(time) { 
    time = time.split(/:/); 

    if (time[0] < 12) { 
     return (time[0] + time[1] + " AM"); 
    } else if (time[0] == 12) { 
     return (time[0] + time[1] + " PM"); 
    } else if(time[0] > 12) { 
     return ((time[0] - 12) + time[1] + " PM"); 
    } else { 
     return("Please enter a valid time!"); 
    } 
} 

getTime.addEventListener('click', function() { 
    alert("The time is " + changeTime(timeText)); 
}); 

編輯:這裏是我的輸入域 「timeText」 和 「的getTime」

<button id="getTime">Get Time</button> 
    <input type="time" id="timeText" /> 
+0

是什麼'timeText'? –

+0

@RajaprabhuAravindasamy我認爲這是字符串'time.split(/:/)' –

+0

那麼什麼是'時間'?所以評估和回答會很容易。 –

回答

1

好像timeText是輸入字段。在這種情況下,要獲取字符串,您必須調用value屬性。

我也希望做一些改進,以你的函數

  1. 你的時間顯示是這樣的400PM。我改進了它現在顯示4:00PM
  2. 我也做了檢查,看看時間字段是否有價值。只有這樣,我才能提醒時間。以前它表明The time is undefined pm

var getTime = document.getElementById("get-time"); 
 
var timeText = document.getElementById("time-text"); 
 

 
function changeTime(time) { 
 
    time = time.split(/:/); 
 

 
    if (time[0] < 12) { 
 
     return (time[0] + ":" + time[1] + " AM"); 
 
    } else if (time[0] == 12) { 
 
     return (time[0] + ":" + time[1] + " PM"); 
 
    } else if(time[0] > 12) { 
 
     return ((time[0] - 12) + ":" + time[1] + " PM"); 
 
    } else { 
 
     return("Please enter a valid time!"); 
 
    } 
 
} 
 

 
getTime.addEventListener('click', function() { 
 
    if (timeText.value) { 
 
     alert("The time is " + changeTime(timeText.value)); 
 
    } 
 
});
<input id="time-text" type="time"> 
 

 
<button id="get-time">Get Time</button>

+0

這絕對是正確的,但我現在唯一的問題是,上午12:30返回爲00:30 AM –