我正在嘗試用 JS 和 PHP 制作我自己的盜版 bash 克隆,但我遇到了一個問題。嘗試執行此腳本時,錯誤日志告訴我 enterCommand() 未定義,即使您可以看到它位于表單上方。
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(function(){
if($(".command") !== null){
function enteredCommand(){
}
} else{
// do nothing
}
});
</script>
<form id="commandField" onsubmit="return enteredCommand();">
<p>bbash~ User:</p>
<input class="command" type=text>
</form>
請幫忙!我是新的。這不是重復的,因為我看不出它是如何定義的。是的,控制臺指定錯誤發生在“onsubmit”。
uj5u.com熱心網友回復:
這是因為您已經enteredCommand()在onsubmit呼叫范圍之外定義了函式。
您需要反轉邏輯,以便if條件在enteredCommand()函式內。還要注意在 JS 代碼中使用了一個不顯眼的事件處理程式。向onXHTML添加屬性不再是好的做法,應該避免。
最后,要從 jQuery 物件中檢索值,您需要呼叫val(). 比較 jQuery 物件null永遠不會是真的,因為 jQuery 物件永遠不會為空。
let execCommand = c => {
console.log(`User entered '${c}', handle it here...`);
}
$(function() {
let $command = $('.command');
$('#commandForm').on('submit', e => {
e.preventDefault(); // stop the form submission so you can handle it manually
let command = $command.val().trim();
if (command)
execCommand(command);
});
});
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<form id="commandForm">
<p>bbash~ User:</p>
<input class="command" type="text" />
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/380687.html
標籤:javascript 查询 功能 不明确的
上一篇:一個選擇器獲取所有元素,但另一個沒有獲取頁面上的所有元素
下一篇:如何通過API呼叫使用預先輸入?
