`
rigger21
  • 浏览: 131543 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

请您先登录,才能继续操作

AJAX实现添加删除

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}

//cody by jarry;
String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g, "");}
function isExist(child,obj){
//obj has element the child;
for(var i=0;i<obj.elements.length;i++){
if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
if(obj.elements[i].value==child)return true;
}
}
return false;
}
function validateURL(url){
//validateURL
if(url.search(/^[A-Za-z0-9 -]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/)!=0){
return false;
//}else if(url.substring(0,4)=="www."){
//网址不要前面的www.,如果没用的话可以注释掉;
//return false;
}else{
return true;
}
}

var strAll=unescape("%u5168%u9009");
var canAll=unescape("%u53D6%u6D88");

function clickchk(obj){
var allcheck=true;
for(var i=0;i<obj.elements.length;i++){
if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
if(obj.elements[i].checked==false){allcheck=false;}
}
}
obj.elements["check"].value=allcheck?canAll:strAll;
}
function addSite(obj){

var url=obj.url.value.trim();
if(url.match(/^\s*$/g) || !validateURL(url)){alert("请输入正确网址:如mysite.com");obj.url.focus();return;}
if(isExist(url,obj)){alert("你添加的网址已经存在列表中");return;}


var list=document.getElementById("list");
var chkbox=document.createElement("input");
chkbox.type="checkbox";
chkbox.onclick=function(){clickchk(obj);}//全部选择后check按钮显示取消;
chkbox.value=url;
chkbox.name="url_chkbox";
var hr=document.createElement("hr");
hr.size="0";hr.style.borderTop="1px solid gray";
var txt=document.createTextNode(url);
var div=document.createElement("div");
div.appendChild(chkbox);
div.appendChild(txt);
div.appendChild(hr);
div.style.backgroundColor = "olive";
div.onmouseover=function(){
showDelete(this);
}

//start add element;
list.appendChild(div);
//end add;

//如果已经添加了多选框则去掉禁用;
if(obj.check.disabled==true){
obj.check.disabled=false;
obj.recheck.disabled = false;
obj.remove.disabled=false;
}

return false;
}
function checkall(obj){//全选or取消全选;
var chk=obj.elements["check"];
for(var i=0;i<obj.elements.length;i++){
if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
if(chk.value==strAll){//check all checkbox input;
obj.elements[i].checked=true;
}else{
obj.elements[i].checked=false;
}

}
}
if($('list').childNodes.length<=1)return;
chk.value=chk.value==canAll?strAll:canAll;
//更改全选/取消的显示;
}
function reverseCheck(obj){
var chk=obj.elements["check"];
for(var i=0;i<obj.elements.length;i++){
if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
obj.elements[i].checked = obj.elements[i].checked ? false : true;
}
clickchk(obj);
}
}

function del(list,obj){

var candel=false;
var i=list.childNodes.length;
var end = -1;
//alert(list.childNodes.length+"\n"+list.innerHTML);
while( i > end ){

/* if(typeof(list.childNodes[i]) != "undefined")
{//delete all elements;
list.removeChild(list.childNodes[i]);
}*/

var s=list.childNodes[i];
/*
//alert( s + typeof(list.childNodes[i]) );
if(typeof(s)!="undefined" && s.tagName){
var tgname = s.tagName.toUpperCase();
//alert(tgname);
if( tgname == "DIV" ){
// alert(list.childNodes.length+":"+typeof(s) + s + s.tagName.toUpperCase() + s.childNodes.length + s.childNodes[0].type)
}
if(tgname == "DIV" && s.childNodes.length > 0 && s.childNodes[0].type.toLowerCase() =="checkbox" && s.childNodes[0].checked==true){
//alert(s.childNodes[0].checked);
}

}*/

if(typeof(s)!="undefined" && s.tagName){
try{
var tgname = s.tagName.toUpperCase();
if(tgname != "DIV" || s.childNodes.length <=0 )return;
var s1 = s.childNodes[0];

if( s1.type.toLowerCase() =="checkbox" && s1.checked==true ){
candel = true;
list.removeChild(s);
//list.removeChild(s.nextSibling.nextSibling);
// list.removeChild(s.nextSibling);
//list.removeChild(s);
//list.removeChild(s.previousSibling);

}
}catch(ex){
//alert(ex.toString());
}
}

i--;
}
if(candel==false){alert("请选择你要删除的选项")}
obj.check.disabled=list.childNodes.length>1?false:true;
obj.recheck.disabled=list.childNodes.length>1?false:true;
obj.check.value=strAll;
obj.remove.disabled=list.childNodes.length>1?false:true;

}

function showDelete(self){
self.style.backgroundColor = "red";

}
</script>
</HEAD>

<BODY>
<form name="sitelist" onsubmit="return addSite(this);">
http:// <INPUT TYPE="text" size="30" NAME="url"> <INPUT TYPE="button" NAME="add" value="添加网址至列表" onclick="addSite(this.form)">
<div style="border:1px groove blue;width:400px;height:200px;padding:5px;overflow:auto" id="list">

<div onmouseover="showDelete(this);" style="background:gray"><input type=checkbox value="example.com" name="url_chkbox" onclick="clickchk(this.form)">example.com <hr style="1px solid gray" size="0"></div>

<div onmouseover="showDelete(this);" style="background:gray"><input type=checkbox value="example.com" name="url_chkbox" onclick="clickchk(this.form)">example.com <hr style="1px solid gray" size="0"></div>

</div>
<INPUT TYPE="button" NAME="check" value="全选" disabled onclick="checkall(this.form)">&nbsp;&nbsp;<input type="button" value="反选" name="recheck" disabled onclick="reverseCheck(this.form)">&nbsp;&nbsp;<INPUT TYPE="button" NAME="remove" disabled value="删除" onclick="del($('list'),this.form)">
</form>
<script>
//页面加载时初始化
function init(l,f){
var list=l;
f.check.disabled=list.childNodes.length>1?false:true;
f.recheck.disabled=list.childNodes.length>1?false:true;
f.check.value=strAll;
f.remove.disabled=list.childNodes.length>1?false:true;
}
window.onload=function(){
init($("list"),document.sitelist);
}
</script>
</BODY>
</HTML>

分享到:
评论

相关推荐

    ajax添加和删除

    本篇文章将深入探讨如何利用Ajax实现数据的添加和删除操作,以实现"无刷新效果"。 首先,我们需要理解Ajax的工作原理。它通过创建XMLHttpRequest对象(在现代浏览器中,通常被称为fetch API或新的Web API如...

    AJAX添加和删除

    现在,让我们关注如何利用AJAX实现添加和删除功能。 **添加操作**: 1. 用户在前端填写表单,点击“添加”按钮。 2. 通过JavaScript捕获按钮点击事件,阻止其默认提交行为(防止页面跳转)。 3. 使用AJAX构造一个...

    Ajax实现无刷新添加和删除数据

    本主题将详细介绍如何利用Ajax实现无刷新添加和删除数据。 一、Ajax基本原理 Ajax的核心是JavaScript对象XMLHttpRequest,它允许在页面不重新加载的情况下与服务器交换数据并局部更新页面。通过创建XMLHttpRequest...

    图书馆添加删除判断 ajax.get 请求 ajax.post响应 考试专用

    本话题将详细讲解如何在图书馆管理页面中利用AJAX实现图书的添加、删除和判断功能,以及处理AJAX的GET请求和POST响应,这些都是前端开发者在考试或实际项目中经常遇到的场景。 首先,我们要理解AJAX的基本原理。...

    ajax添加和删除无刷新效果

    在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于创建交互性强、用户体验优秀的网页应用。"Ajax添加和删除无刷新...无论是添加还是删除操作,都能通过AJAX实现无刷新的效果,提升用户体验。

    ASP+Ajax网页交互动态添加删除数据一例

    在这个例子中,它可能指向一个在线资源,包含了完整的ASP+Ajax实现动态添加删除数据的源代码和步骤说明。如果需要进一步学习或参考,可以访问这个链接获取详细信息。 总的来说,ASP和Ajax的结合使用为Web开发提供了...

    Ajax实现无刷新添加和删除数据源码.zip

    在这个"Ajax实现无刷新添加和删除数据源码.zip"中,我们可以深入理解如何利用Ajax实现网页中的动态数据操作。 1. **Ajax基本原理**:Ajax的核心是XMLHttpRequest对象,它允许JavaScript向服务器发送HTTP请求,并...

    Ajax实现无刷新添加和删除数据.zip

    本资源“Ajax实现无刷新添加和删除数据.zip”很可能是包含一个示例项目,演示如何使用Ajax技术在前端实现数据的动态增删,从而让用户在不离开当前页面的情况下完成操作。 首先,我们需要理解Ajax的工作原理。它通常...

    asp+jquery ajax实例源码,添加,删除,修改,分页

    在这个实例源码中,我们将深入探讨如何利用ASP、jQuery和AJAX实现无刷新的数据操作,包括添加、删除、修改和分页功能。 1. **jQuery与AJAX基础** - jQuery提供了$.ajax()函数,使得发起AJAX请求变得简单。该函数...

    Ajax与ASP网页交互动态添加删除数据一例

    本示例将深入探讨如何利用Ajax和ASP实现网页上的动态数据添加与删除功能,为用户提供无缝的浏览体验。 Ajax的核心在于其异步特性,它允许网页在不刷新整个页面的情况下与服务器进行数据交换。通过JavaScript,我们...

    Ajax实现无刷新添加和删除数据jQueryTest

    标题 "Ajax实现无刷新添加和删除数据jQueryTest" 涉及的核心技术是Ajax和jQuery,主要用于提升用户体验,实现网页的动态更新而无需完全刷新页面。以下是对这些知识点的详细说明: **Ajax(Asynchronous JavaScript ...

    Springboot+ajax+jpa实现异步删除修改添加用户

    实现了Ajax异步添加修改删除用户,整合了SpringSecurity,jpa等一堆框架...文章说明在https://blog.csdn.net/woshilishu/article/details/89351894

    JQuery Easyui 行增删改查

    实现 行编辑 增删改

    使用Ajax实现页面表格添删改查的异步刷新操作

    "使用Ajax实现页面表格添删改查的异步刷新操作"是一个实用的技术实现,它允许用户在不刷新整个页面的情况下更新表格内容,从而提高页面响应速度和用户体验。 首先,我们需要理解AJAX的基本原理。AJAX通过JavaScript...

    Ajax动态表格,可适时添加行、删除行、复制行

    本话题将深入探讨如何实现一个动态表格,用户可以适时添加、删除和复制表格中的行。 首先,我们需要理解Ajax的工作原理。它通过JavaScript发送异步HTTP请求到服务器,获取或提交数据,然后使用JavaScript处理这些...

    JSP+AJAX 添加、删除多选框

    动态添加删除多选框 &lt;div id="checkboxContainer"&gt;&lt;/div&gt; ()"&gt;添加多选框 ()"&gt;删除多选框 &lt;script src="script.js"&gt;&lt;/script&gt; ``` ##### 2. JavaScript实现动态操作 接下来,使用JavaScript来处理...

    ajax 插入记录,删除记录,修改记录

    在Web开发中,Ajax(Asynchronous JavaScript and XML)...总结,Ajax在网页动态数据交互中扮演着重要角色,能够实现记录的无刷新插入、删除和修改,提高用户体验。理解并熟练运用Ajax技术是现代Web开发者的必备技能。

    AjaxTree(可动态添加删除节点)

    2:动态更新,即可以自由添加删除子树,并立即显示; 3:局部更新,即可结合Ajax请求更新子树 4:封装操作在第五个参数里面,实现从父到本身到下级及标题,操作的全面自由化 使用方法 将此JS引用到你要加入树的地方

    购物车(纯AJAX实现)

    本项目"购物车(纯AJAX实现)"完全基于AJAX技术来实现实时更新和交互,无需刷新页面,提高了用户体验。通过这个项目,我们可以学习到以下几个关键的AJAX和JavaScript知识点: 1. **AJAX基础**:AJAX(Asynchronous ...

    JSP+AJAX多选、全选,添加、删除、更新多选框

    四、AJAX实现添加、删除、更新 1. 添加:用户在前端界面选择或输入信息后,通过AJAX发送POST请求到服务器,将新数据添加到数据库。服务器处理请求,成功后返回确认信息,前端收到响应后更新显示。 2. 删除:用户...

Global site tag (gtag.js) - Google Analytics