使用jQuery从span获取价值

时间:2013-05-03 18:20:48

标签: jquery html

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

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

表单页面的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>

2 个答案:

答案 0 :(得分:6)

尝试.text()

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

答案 1 :(得分:3)

在你真正要使用它之前获取spanValue,而不是在DOM ready函数之外,在加载任何东西之前:

$(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);
        });
     });
});