jQuery AJAX呼び出しを使用して0〜5の数値を返し、結果でテキストボックスの値を変更するだけのスクリプトがあります。スクリプトが 1 ~ 5 を返すと、これは正常に機能し、それに応じて結果がテキスト ボックスに出力されます。
ただし、スクリプトが 0 を返す場合は、何も出力されません。これは 0 を処理するためのデフォルトの動作だと思いますが、問題は 0 が私が書いているスクリプトの有効な応答であり、実際にテキストボックスに「0」を出力する必要があることです。
必要に応じてコードを投稿できますが、これは結果 (0-5) をエコーする PHP スクリプトへの標準的な基本的な jQuery AJAX 呼び出しであり、テキスト ボックスの値は AJAX 応答を使用して更新されます。
編集:コードは要求どおりに以下にあります
function fetchEWSSScore(input,category) {
$.ajax({
type: "POST",
url: "EWSSTriggerLevel.php",
data: "input=" + input + "&category=" + category,
async: true,
success: function(msg){
EWSS_Score = msg;
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
EWSS_Score = 'Invalid';
alert(" Status: " + textStatus + "\n Error message: "+ errorThrown);
}
});
if (isNaN(EWSS_Score)) {
EWSS_Score = 'Invalid';
alert("An invalid response was given while attempting to fetch EWSS Score.");
return false;
} else {
return EWSS_Score;
}
}
function calculateEWSSWeightedScore(input,category,weighted) {
var EWSSScore = fetchEWSSScore(input,category);
$(weighted).val(EWSSScore);
}
$('#heartRate').change(function() {
var category = "HR";
var input = $(this).val();
calculateEWSSWeightedScore(input,category,'#heartRateWeighted');
});
編集 2: @FelixKling に感謝します。私のスクリプトのバグが存在していることに気付かなかった点を指摘してくれました。ただし、まだ 0 が印刷されないという問題があります。