2013-05-03 3 views
4

기본적으로 알아 내려고하는 것은 phonegap을 사용하여 캡처 한 이미지의 이름으로 채워진 값 span (id = "camera_status")을 검색하는 방법입니다.jQuery로 범위에서 값 가져 오기

내가 원하는 방식은 이미지 이름이 제출 된 양식 정보와 함께 데이터베이스에 업로드된다는 것입니다. 현재 스팬에 이미지 이름이 채워지기 전에 초기 공백 값을 읽는 것 같습니다. 내가 이것을 고칠 수있는 방법을 알고있는 사람이 있다면 감사 할 것입니다.

HTML과 자바 스크립트 양식 페이지

<div> 
    <input type="button" onclick="takePicture();" value="Take Picture" /><br/> 
</div> 
<div> 
<div> 
    <b>Status:</b> <span id="camera_status"></span><br> 
    <b>Image:</b> <img style="width:240px;visibility:hidden;display:none;" id="camera_image" src="" /> 
</div>  
<div id="landmark-1" data-landmark-id="1"> 
<form id="uploadForm"> 
    <label for="email"> 
     <b>Email</b> 
     <input type="email" id="email" name="email"> 
    </label> 

    <label for="comment"> 
     <b>Comment</b></br> 
     <input id="comment" name="comment" cols="30" rows="10"></textarea> 
    </label> 
    <input type="button" onclick="uploadPicture();" value="Upload New location" /> 
    <input type="submit" value="Upload New location" /> 

    </form> 

<script> 
var spanValue = $('#camera_status').html() 

$(function(){ 

$('#uploadForm').submit(function(){ 
    var landmarkID = $(this).parent().attr('data-landmark-id'); 
    var postData = $(this).serialize(); 

    $.ajax({ 
     type: 'POST', 
     data: postData+'&lid='+spanValue, 
     //change the url for your project 
     url: 'save.php', 
     success: function(data){ 
      console.log(data); 
      alert('Your comment was successfully added'); 
     }, 
     error: function(){ 
      console.log(data); 
      alert('There was an error adding your comment'); 
     } 
    }); 

    return false; 
}); 
}); 

</div> 
</div> 
</div> 
+0

이 모든 것을 document.ready에서 마무리하십시오. –

답변

3

spanValue 받기 실제로, 그리고 DOM을 준비 함수 외부를 사용하려고 할 때, 로드되기 전에 :

$(function(){ 
    $('#uploadForm').on('submit', function(e){ 
     e.preventDefault(); 
     var landmarkID = $(this).parent().data ('landmark-id'), 
      postData = $(this).serialize(), 
      spanValue = $('#camera_status').text()  

     $.ajax({ 
      type: 'POST', 
      data: postData+'&lid='+spanValue, 
      url: 'save.php' 
     }).done(function(data) { 
      console.log(data); 
     }); 
    }); 
}); 
+0

정말 고마워요! 뭔가 간단한 것이어야한다는 것을 알았지 만 그것을 알아 채지 못했습니다. – user2236497

6

의는 .text()을 시도해보십시오

var spanValue = $('#camera_status').text();