javascript
  • ajax
  • dom
  • 2010-05-12 3 views 2 likes 
    2

    AJAX로 양식을 만듭니다. 양식을 만든 나는 방법은 내가 형태DOM : 동적으로 생성 된 요소에 액세스 할 수 없습니다. 무엇이 잘못 되었나요?

    div.innerHTML += '&nbsp;<input type="text" name="day" id="eventDay" size="2" maxlength="2" value="'+response.day+'" />,'; 
    div.innerHTML += '&nbsp;20<input type="text" name="year" id="eventYear" size="2" maxlength="2" value="'+response.year+'" /><br /><br />'; 
    
    을 가하고있어 사업부의 innerHTML에 HTML 양식 요소를 작성하는 것입니다 나는 또한 document.createElement('input');를 사용하여이 일을 시도했다

    하지만이 저를주고있다 문제도 있습니다. 양식을 만들면 다른 AJAX 함수를 사용하여 값을 제출하려고 할 때 예를 들어 document.getElementById('eventDay').value;을 사용하여 입력 상자의 값에 액세스 할 수 없습니다. HTTP를 직접 사용하여 양식을 제출하고 싶지 않지만 AJAX 기능을 사용하여 양식을 제출하는 것이 좋습니다. 왜 다른 기능에서 입력 상자의 값에 액세스 할 수 없는지 전혀 알 수 없습니다. 도와주세요!

    +0

    당신이 어떤 문제가 있습니까 live 기능을 사용하여 요소를 생성 얻을 jQuery를 사용하는 경우? – MunkiPhD

    +0

    페이지 원본을 만든 후에 요소를 볼 수 있습니까? – Shaded

    +0

    이 의견을 보내 주셔서 감사합니다. html 소스를 보지 않았다면 절대로 알아 내지 못했을 것입니다. 나는 오래된 HTML 폼을 자바 스크립트로 만든 폼으로 대체하고 있었지만, 오래된 html을 제거하지는 못했다. – smfoote

    답변

    0

    필자는 사용하고있는 입력 상자와 동일한 ID를 가진 페이지에 다른 요소가 있다는 것을 인정해야합니다. 그래서,이 하나에 대한 대답은 내가 충분히 내 HTML을 확인하지 않았고 문제가 자바 스크립트와 함께 있다고 가정합니다. 도와 주셔서 감사합니다.

    1

    아마도 div.appendChild()을 시도하고 거기에 원시 HTML을 전달하십시오.

    또는 노드 (document.createElement)를 만든 다음 inputvarname.setAttribute()을 통해 올바르게 특성을 추가 할 수 있습니다. 그 작업이 끝나면 해당 노드를 하위 노드로 div에 추가하십시오.

    0

    당신은 당신이 "document.createElement ('입력')"사용할 때이

    관련 문제