2013-01-24 3 views
0

숨겨진 입력 필드에서 값 속성을 변경하는 데 문제가 있습니다. 다음 HTML이 포함 된 양식이 있습니다.숨겨진 입력 필드에서 변경되는 속성 jquery

<input type="hidden" name="caitlinisdabomb" id="caitlinisdabomb" value="no" /> 

및 오른쪽 클릭> 소스보기를 클릭하면 값이 변경되지 않았습니다. 양식을 보내면 잘못된 값이 헤더에도 전송됩니다. console.log ("im human"+ document.getElementById ("caitlinisdabomb"). value)는 "im human yes"로 기록됩니다. 뭐라 구요? 동적으로 생성 된 양식 때문입니까? 여기에 모든 파일 : 때 .slick-form 요소 존재는

console.log("I work"); 
      function markAsHuman() 
      { 
       $('#caitlinisdabomb').val('yes'); 
       //document.getElementById("caitlinisdabomb").value = 1; 
       console.log("im human " + document.getElementById("caitlinisdabomb").value); 
      } 


      $(".slick-form").on("focus", function() { 
       markAsHuman(); 
      }); 

      $(".slick-form").on("click", function() { 
       markAsHuman(); 
       console.log("you clicked"); 
      }); 

답변

1

alluringassets.com/slick-contact-forms.rar입니까? 페이지를로드하거나 비동기 적으로로드합니까? 귀하의 예제 즉

는 너무 일찍 아마도 가능한 $(document).ready(function() { //look for elements in the dom structure });

너무 빨리 $(".slick-form")을하고, 즉 준비가 될 때까지 DOM을 기다리지 않습니다 ... 그리고 당신은 당신이하지 않는 한 그에 문제가 표시되지 않습니다 디버거에서 해당 줄에 중단 점을 고정하십시오.

당신이 그 다음 당신이 가능하게하는 아약스 기능의 성공적인 콜백에 클릭 이벤트를 적용해야합니다 비동기 일 경우 .. 보통 이런 종류의 같은

:

$.ajax({ 
    type: "GET", 
    url: '/blah', 
    data: formData, 
    success: function (data) { 
     // the callback, add click event now that form will exist in DOM 
    } 
}); 

나에 대해 생각 이 예와 같이 다른 방법으로 달성하십시오.

jquery functions dont work on dom elements loaded asynchromously

관련 문제