![](/img/trans.png)
[英]How do I get a return value from a Handler function in JavaScript?
[英]How do I return true from a javascript function along with a value?
大家好,我正在使用檢測圖像擴展的功能。
<body>
<input id="imgExtension" type="text" />
<input id="myFile" type="file" />
<script>
function checkExt(x){
var y = x.split('.').pop();
if (y != "jpg" && y != "png") {
return false;
}
else {
// i want to return *y*[image extension] from here
return true;
}
}
$(function(){
$("#myFile").change(function(){
var x = $(this).val;
if(checkExt(x)){
// i want to put [image extension] here in #imgExtension
$('#imgExtension').val();
}
else {
alert("Error, invalid image extension");
}
}
}
</script>
</body>
最近,我只是檢查圖像擴展名並返回true或false,但我也想獲取該擴展名,因為我需要將其解析為我的PHP腳本。
您可以只返回擴展名,而不返回true或false,如果根本沒有擴展名,則可以返回null。
另一方面,您可以創建一個包含兩個值的js對象,但我會優先考慮。
返回多個值的最簡單方法是返回一個對象。
return { value: true, extension: '.jpg' };
然后,您可以訪問作為普通對象返回的值。
您不能返回兩件事(除非您使用數組)。 我建議您返回擴展名或null。 由於JavaScript中稱為falsfy的東西,如果將if(checkExt(x))調用為null,則將其評估為null;對於jpg或png,則將其評估為true。
您不需要返回2個值。 如果您只返回值,或者什么都不返回,則checkExt可以正常工作。 做這樣的事情的最干凈的方法是使用三元語句(使用谷歌語言,易於學習,可以節省您的生命)
function checkExt(x){
var y = x.split('.').pop();
return y != "jpg" && y != "png" ? false : y;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.