1

我这里有问题。。

我已经使用 jquery 完成了拖放图像。然后在放置后,我得到图像的xy坐标。然后会显示一个弹出消息。在弹出消息中用户可以插入他们想要命名的位置的名称。弹出窗口中有一个保存按钮向上消息。单击保存时,我希望将 xy 坐标和位置名称插入到 sql server 管理中。怎么做???我必须使用ajax http请求吗?请帮我!!.....

这是我到目前为止所做的代码:

$('#dragThis').draggable({
        cursor: 'move',        // sets the cursor apperance
        containment: '#dragThis2',
        drag: function() {
        var offset = $(this).offset();
        var xPos = Math.abs(offset.left);
        var yPos = Math.abs(offset.top);
        $('#posX').text('x: ' + xPos);
        $('#posY').text('y: ' + yPos);


},
stop: function(event, ui) {

 // begin: you can use the code below where ever you'd like to display the popup

$('.popup').remove();

var $d = $('<div></div>')
    .addClass('popup')
    .html('<form method="POST" action="your_action.html"><div><label>Set a     name          for  your location</label><div><input type="text" name="location_name"   /></div></div><button type="save" class="save">Save</button><button type="button"    class="cancel">Cancel</button></form>')
    .appendTo(document.body)
    .hide();

     $d.find('button.save').click(function(e) {
        e.preventDefault();
        $('#dragThis').draggable('disable');
        alert('Saved'); 
        $d.remove();
    });

    //insert







    $d.find('button.cancel').click(function(e) {
        $('#dragThis').draggable('enable');
        $d.remove();
    });

     $('#dragThis').draggable('disable');


var $win = $(window);

$d.css({ top: $win.scrollTop() + ($win.height()-$d.height())/2,
         left: $win.scrollLeft() + ($win.height()-$d.width())/2,
         position: 'absolute'
       })
  .show();

// end

}
});


     // Show dropped position.

    var Startpos = $("#dragThis").position();
    var Stoppos = $(this).position();
    $("#dragThis").val((Stoppos.left - Startpos.left));
    var left = Math.abs(Stoppos.left);
    var top = Math.abs(Stoppos.top);

    $('#posX').text('left: ' + left);
    $('#posY').text('top: ' + top);
//        prompter();  
//     
4

2 回答 2

1

您需要将数据从运行 javascript 代码的客户端发送到数据库所在的服务器。而且您需要一些服务器端组件来处理您的请求并将其保存到数据库中。可以通过提交表单或通过ajax http 请求将数据从客户端发送到服务器,您可以使用 jQuery 来完成。在您的情况下,可能首选 ajax 方式。

于 2012-06-18T07:22:48.450 回答
1

尝试:

$("#btnSave").click(function()
{
    var location = $("#LocationName").val();

    $.ajax({
              type: "POST",
              contentType: "application/json; charset=utf-8",
              url: "savePage.aspx/SaveIntoDB",
              data: "{'Location':'" + location + "', 'posX':'" + $('#posX').text() + "', 'posY':'" + $('#posY').text() + "'}",
              success:
               function(msg){
                    if(msg.d == "save")
                    {
                        alert("Save");                                    
                    }
                    else
                    {

                    }
               },
              error:
               function(XMLHttpRequest, textStatus, errorThrown){
                   alert( "Error Occured!" + errorThrown.toString());
               }
             });
});

使用 ajax 你可以保存到 Sql.. $('#posX').text() 它可以是 $('#posX').val() 或者取决于你的 html .. 希望它能工作..

于 2012-06-18T07:31:26.220 回答