자바 스크립트는 함수간에 매개 변수를 전달할 수 없습니다.

Joshua

사용자가 콘서트 티켓을 예약 할 수있는 페이지가 있습니다. 먼저 아티스트를 클릭하여 예약 프로세스를 시작하고 시작 기능에 "아티스트"를 전달합니다.

그런 다음 프로그램은 아티스트를위한 장소를로드합니다. 사용자가 장소를 변경하면 (값이 비어 있지 않음) 다른 함수를 호출하여 다른 선택 드롭 다운 메뉴에서 사용 가능한 날짜를로드하려고했습니다.

원래 코드는 다음과 같습니다.

<select onchange="loadDates(artist)">...</select>

그러나 어떤 이유로 시작 함수에서 다음 함수로 매개 변수를 전달하지 않았습니다.

그래서 나는 그것을 변경했습니다.

    <select onchange="loadDates.call(this, artist)">..</select>

그러나 다음 기능을 실행하려고 할 때 "아티스트가 정의되지 않았습니다"라는 오류가 계속 표시됩니다. 내가 온라인에서 이것이 완벽하게 작동한다는 것을 읽을 때 누구든지 내가 여기서 뭘 잘못하고 있는지 볼 수 있습니까? 필요한 경우 더 많은 정보를 제공 할 수 있습니다. 감사

TJ 크라우 더

onXyz속성의 코드는 전역 범위에서 실행되므로 두 예제 모두 라는 전역 변수 가 있어야합니다 artist. 하나 ReferenceError가 없으면 정의되지 않은 기호의 값을 취하려고하기 때문에 a가 표시됩니다.

문자열을 전달하려는 경우에는 따옴표로 묶으십시오. 다른 것을 통과하려는 경우 그게 무엇인지 말해야합니다. 그러나 근본적인 문제는 artist글로벌 범위에서 정의 된 기호가 아니라는 것입니다.

전역이artist 아닌 위치에서 정의한 경우 (좋은! 전역은 나쁜 것입니다)onXyz 속성을 사용하는 대신 최신 기술을 통해 이벤트 처리기를 연결하고 싶을 것 입니다.

DOM 라이브러리 (jQuery 등)를 사용하지 않는 경우 가장 간단한 방법 onXyz은 선택 상자 요소 속성에 할당하는 것 입니다.

(function() { // Something to keep the stuff inside from being globals
    var artist = "Joe Cocker";

    var selectBox = document.querySelector("selector for the select box");
    selectBox.onchange = function() {
        loadDates(artist); // `artist` is in scope now
    };
})();

그러나 일반적으로 onXyz속성은 요소 당 이벤트 당 하나의 처리기 만 허용하고 DOM 메서드 addEventListener(및 Microsoft 고유의 전임자 attachEvent)를 선호하므로 속성을 사용 하지 않습니다 . 나는 단순함을 위해 위에서 그것들을 사용하지 않았습니다. DOM 라이브러리를 사용하지 않는 경우이 hookEvent함수 가있는 addEventListener경우 또는 attachEvent없는 경우를 사용하고 attachEvent브라우저에 누락 된 비트를 제공하는 다른 답변에 제공 되기를 원할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Smarty의 매개 변수를 자바 스크립트 함수에 어떻게 전달할 수 있습니까?

분류에서Dev

자바 스크립트 함수에 매개 변수를 전달하는 방법

분류에서Dev

자바 스크립트에서 나중에 호출 할 매개 변수가있는 함수를 어떻게 전달할 수 있습니까?

분류에서Dev

자바 스크립트에서 나중에 호출 할 매개 변수가있는 함수를 어떻게 전달할 수 있습니까?

분류에서Dev

자바 스크립트 함수를 매개 변수로 전달

분류에서Dev

자바 스크립트 함수에서 매개 변수 전달?

분류에서Dev

링크의 매개 변수를 함수에 전달할 수 없습니다.

분류에서Dev

자바 스크립트 함수에서 네임 스페이스를 매개 변수로 전달할 수 있습니까?

분류에서Dev

자바 스크립트는 함수 내에서 전역 개체를 재정의 할 수 없습니다.

분류에서Dev

매개 변수 전달이 다른 자바 스크립트 함수

분류에서Dev

매개 변수로 전송 된 다른 함수를 완료하는 자바 스크립트 함수?

분류에서Dev

자바 스크립트는 전역 변수를 호출 할 수 없습니다.

분류에서Dev

매개 변수를 자바 스크립트 함수에 동적으로 전달하는 동안 오류가 발생했습니다.

분류에서Dev

자바 스크립트 함수에 두 개의 매개 변수 전달

분류에서Dev

nodejs / expressjs에서 내 보낸 자바 스크립트 모듈에 개체를 전달할 수 없습니다.

분류에서Dev

루프 문 내의 명령에 배치 스크립트의 매개 변수를 올바르게 전달할 수 없습니다.

분류에서Dev

서비스 개체에 매개 변수를 전달할 수 없습니다.

분류에서Dev

자바 스크립트 함수에서 XSLT로 매개 변수를 전달하는 방법

분류에서Dev

C ++ _beginthread는 문자열을 매개 변수로 전달할 수 없습니다.

분류에서Dev

자바 스크립트로 다음 페이지에 매개 변수 전달

분류에서Dev

$ (this) 변수를 다른 함수 자바 스크립트에 전달하는 방법

분류에서Dev

자바 스크립트 전달 매개 변수 오류, 클릭 이벤트가 전달의 모든 매개 변수를 전달합니다.

분류에서Dev

매우 간단한 이벤트 리스너에서 변수를 함수에 전달할 수 없습니다.

분류에서Dev

자바 스크립트의 매개 변수로 다른 함수에 전달되는 함수에서 값을 반환하는 방법은 무엇입니까?

분류에서Dev

콜백 함수에 자바 스크립트 전달 매개 변수

분류에서Dev

자바 스크립트 함수에 매개 변수 전달 오류

분류에서Dev

Django-Django 양식의 ID를 자바 스크립트 변수에 전달할 수 없습니다.

분류에서Dev

자바 스크립트의 URL에 매개 변수 전달

분류에서Dev

자바 스크립트에 MVC 3 전달 매개 변수

Related 관련 기사

  1. 1

    Smarty의 매개 변수를 자바 스크립트 함수에 어떻게 전달할 수 있습니까?

  2. 2

    자바 스크립트 함수에 매개 변수를 전달하는 방법

  3. 3

    자바 스크립트에서 나중에 호출 할 매개 변수가있는 함수를 어떻게 전달할 수 있습니까?

  4. 4

    자바 스크립트에서 나중에 호출 할 매개 변수가있는 함수를 어떻게 전달할 수 있습니까?

  5. 5

    자바 스크립트 함수를 매개 변수로 전달

  6. 6

    자바 스크립트 함수에서 매개 변수 전달?

  7. 7

    링크의 매개 변수를 함수에 전달할 수 없습니다.

  8. 8

    자바 스크립트 함수에서 네임 스페이스를 매개 변수로 전달할 수 있습니까?

  9. 9

    자바 스크립트는 함수 내에서 전역 개체를 재정의 할 수 없습니다.

  10. 10

    매개 변수 전달이 다른 자바 스크립트 함수

  11. 11

    매개 변수로 전송 된 다른 함수를 완료하는 자바 스크립트 함수?

  12. 12

    자바 스크립트는 전역 변수를 호출 할 수 없습니다.

  13. 13

    매개 변수를 자바 스크립트 함수에 동적으로 전달하는 동안 오류가 발생했습니다.

  14. 14

    자바 스크립트 함수에 두 개의 매개 변수 전달

  15. 15

    nodejs / expressjs에서 내 보낸 자바 스크립트 모듈에 개체를 전달할 수 없습니다.

  16. 16

    루프 문 내의 명령에 배치 스크립트의 매개 변수를 올바르게 전달할 수 없습니다.

  17. 17

    서비스 개체에 매개 변수를 전달할 수 없습니다.

  18. 18

    자바 스크립트 함수에서 XSLT로 매개 변수를 전달하는 방법

  19. 19

    C ++ _beginthread는 문자열을 매개 변수로 전달할 수 없습니다.

  20. 20

    자바 스크립트로 다음 페이지에 매개 변수 전달

  21. 21

    $ (this) 변수를 다른 함수 자바 스크립트에 전달하는 방법

  22. 22

    자바 스크립트 전달 매개 변수 오류, 클릭 이벤트가 전달의 모든 매개 변수를 전달합니다.

  23. 23

    매우 간단한 이벤트 리스너에서 변수를 함수에 전달할 수 없습니다.

  24. 24

    자바 스크립트의 매개 변수로 다른 함수에 전달되는 함수에서 값을 반환하는 방법은 무엇입니까?

  25. 25

    콜백 함수에 자바 스크립트 전달 매개 변수

  26. 26

    자바 스크립트 함수에 매개 변수 전달 오류

  27. 27

    Django-Django 양식의 ID를 자바 스크립트 변수에 전달할 수 없습니다.

  28. 28

    자바 스크립트의 URL에 매개 변수 전달

  29. 29

    자바 스크립트에 MVC 3 전달 매개 변수

뜨겁다태그

보관