4

本质上,我想弄清楚的是如何检索在使用phonegap捕获图像后填充了图像名称的span(id =“camera_status”)的值。

我希望它工作的方式是图像名称将与提交的表单信息一起上传到数据库。目前,它似乎在使用图像名称填充跨度之前读取初始空白值。如果有人知道我该如何解决这个问题,我将不胜感激。

表单页面的 HTML 和 Javascript

<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>
4

2 回答 2

7

尝试.text()

var spanValue = $('#camera_status').text();
于 2013-05-03T18:23:03.620 回答
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);
        });
     });
});
于 2013-05-03T18:23:18.480 回答