如何使用JavaScript在Classic ASP中发布数据库

时间:2014-01-23 18:05:11

标签: javascript dom asp-classic

我有一个可排序的列表,允许我通过拖放来重新排列项目。当我重新排列项目时,输入标签内的数字会根据列表中的新位置进行调整。此时我想要做的是将新输入值发布到我的数据库中的字段。

以下是经典ASP代码

<form name="sort_award" action="file_2.asp?Action=sort" method="post">
<%
end if
response.write "<ul id='sortable'>"
dim i
i=1

While not rsAwards.EOF

response.write "<li onclick='sort("&rsAwards("Award_ID")&")'> &nbsp 
<input type='text' name='AwardNumber' size='1' value="&i&"> &nbsp 
<label name='AwardName'>" & rsAwards("Award_Name") & "</label>"
%>
<a href='edit_awards.asp?Action=edit&Award_ID=<%=rsAwards("Award_ID")%>' name='AwardID'>Edit</a>&nbsp;
<a class="lb" href='file_1.asp?Action=delete&Award_ID=<%=rsAwards("Award_ID")%>'>Delete</a></li>
<%
rsAwards.MoveNext
i=i+1
Wend

%></ul>
<input type="submit" value="Sort">
</form>

这是JavaScript

$(function() {
    $( "#sortable" ).sortable({ placeholder: "ui-state-highlight" });
});

function sort(AwardID) {
  var count = document.getElementById('sortable').getElementsByTagName('li').length;
  var AwardNum = document.getElementById('sortable').getElementsByTagName('input');

    for(var i = 0; i < count; i++)
    {
      AwardNum[i].setAttribute('value', i+1);     
    }
 }

1 个答案:

答案 0 :(得分:1)

使用jQuery

您可以使用.post()

轻松地通过ajax将数据发布到您的asp页面

如果您正在执行get请求,那么您可以使用.get()代替它,它不那么复杂。

(注意:jQuery还包括一堆其他的ajax请求函数,例如.ajax().load()等,但我发现.get()是我的功能,因为它允许更多的灵活性和使用功能来记住)

要使用它,只需执行以下操作:

<script>
$.get("myasppage.asp?id=12345", function(data){

   //after the request is complete, you can place any code here that you want
   //therefore, your code won't continue processing until the request is done.

   //if the .asp page returns content like "HELLO!", then that would be in your
   // data variable, as defined up top.  So you can just do this.


   $(body).append(data); //<- appends the data from myasppage.asp to your body content

   alert(data); // <- will popup an alert box with the content returned from your asp page



});
</script>

就是这样。 :)