자바 스크립트 파일 API에 문제가 있습니다. 우선은 폼 입력이 가치가 있다면 확인하고있어, 양식 입력 유형 = 파일 이름이 이미지 인 경우, 나는 그것이 이미지 싶어 :함수 (evt) 자바 스크립트 파일 API
function checkQrCode(evt) {
var qrcode = evt.target.files[0]; // create a FileList and take the first one
if (!qrcode.type.match("image.*")) { // check to see if it is an image
var $parentDiv = $(this).parent().parent();
$parentDiv.removeClass("has-success");
$parentDiv.addClass("has-error");
return;
}
var reader = new FileReader(); // create a FileReader
reader.onload = function (evt) {
var img = new Image(); // create a new image
img.src = event.target.result; // set the src of the img to the src specified
if ($("#qrcode").siblings().length != 0) { // if qrcode has siblings (function already executed)
$("#qrcode").siblings().remove(); // remove the siblings
}
$("#qrcode").parent().append(img); // append the img to the parent
$("#qrcode").siblings("img").addClass("img-thumbnail");
$("#qrcode").siblings("img").css("float", "left");
}
reader.readAsDataURL(qrcode);
}
: 이미지를 얻기
function checkIfValued() {
$("form input, textarea").change(function() {
// ifs ....
else if (name === "image") {
checkQrCode();
}
// else ifs ....
});
}
을 내가 사용했을 때 :
$("#qrCode").change(checkQrCode);
그것은 효과가 있지만 첫 번째 코드를 사용할 때 그렇다. 아마도 checkQrCode 함수의 이벤트와 관련이 있다고 생각합니다 (마지막 코드에서 이벤트는 함수에 직접 연결되어 있고 두 번째 코드에는 if 문이 있습니다).
어쨌든 어떻게 해결할 수 있으며 누군가가 event/evt 옵션을 설명 할 수 있다면 매우 감사하겠습니다.
감사
는
당신이 바이올린을 추가 할 수 있습니까? checkQRCode에서 이벤트는 아무 곳에서나 정의되지 않으므로 상위 함수 범위에서 변수에 액세스 할 가능성이 높습니다. –
작업 코드가'$ ("# qrCode")와 같지 않은 것으로 확신합니까? change (checkQrCode)'? @KerryLiu는 두 예제에서 함수에 이벤트를 전달하지 않는다는 점에서 큰 차이가 있음을 알 수 있습니다. – numbers1311407
@ numbers1311407 맞아, 바꿨어. 그렇다면 첫 번째 코드에서 어떻게 작동하게 할 수 있습니까? 첫 번째 코드에 넣으면 작동하지 않습니다 ... – bhc11