php中0可以代表什么意思,javascript - ①$("#userName")[0]中的这个【0】表示什么意思呀?...

function check_form(){

usernameObj = $("#userName")[0];

//window.alert(usernameObj.value); //show usernameObj=[object HTMLInputElement]

var language = $("#choose_language").val();

if(usernameObj.value==''){

showWarningMsg("");

return false;

}

pwdObj = $("#password")[0];

if(pwdObj.value==''){

showWarningMsg("");

return false;

}

var yanzheng = $("#user_varify").val();

if(yanzheng==""&&yanzheng.length!=4){

showWarningMsg("");

return false;

}

requestUrl = formatAjaxUrl("std-index.php");

$.post(requestUrl, {"language":language,"action":"login_in","username":usernameObj.value,

"password": hex_md5(pwdObj.value)+"",

"choose": document.getElementById("checkednames").value,

"remember": "0","yanzheng":yanzheng},

function(data, textStatus)

{

if (textStatus=="success") {

errorCode = getErrorCode(data);

switch (errorCode) {

case 0:

window.location = "";

break;

case 1:

case 2:

showWarningMsg("");

break;

case 3:

showWarningMsg("");

break;

case 4:

userHasLogin("");

break;

case 5:

showWarningMsg("");

refresh_img();

break;

case 6:

showWarningMsg("");

refresh_img();

break;

case 9:

break;

case 10: // admin & license doesn't exist

window.location = "i2/wizard/wiz_license.php";

break;

case 11: // admin & notice something

window.location = "i2/wizard/wiz_notice.php";

break;

case 12: // non-admin user & license doesn't exist

showWarningMsg("");

break;

case 13: // non-admin & trial license expired

showWarningMsg("");

break;

case 20: // upgrade database fail

errorMsg = getErrorMsg(data);

showWarningMsg("" + errorMsg);

break;

case 99:

errorMsg = getErrorMsg(data);

showWarningMsg( errorMsg );

break;

}

}

});

return false;

}

①$("#userName")[0]中的这个【0】表示什么意思呀?

②函数最后加了一个return false;它的作用是什么呢?能否省略?

请大神赐教!

回复内容:

function check_form(){

usernameObj = $("#userName")[0];

//window.alert(usernameObj.value); //show usernameObj=[object HTMLInputElement]

var language = $("#choose_language").val();

if(usernameObj.value==''){

showWarningMsg("");

return false;

}

pwdObj = $("#password")[0];

if(pwdObj.value==''){

showWarningMsg("");

return false;

}

var yanzheng = $("#user_varify").val();

if(yanzheng==""&&yanzheng.length!=4){

showWarningMsg("");

return false;

}

requestUrl = formatAjaxUrl("std-index.php");

$.post(requestUrl, {"language":language,"action":"login_in","username":usernameObj.value,

"password": hex_md5(pwdObj.value)+"",

"choose": document.getElementById("checkednames").value,

"remember": "0","yanzheng":yanzheng},

function(data, textStatus)

{

if (textStatus=="success") {

errorCode = getErrorCode(data);

switch (errorCode) {

case 0:

window.location = "";

break;

case 1:

case 2:

showWarningMsg("");

break;

case 3:

showWarningMsg("");

break;

case 4:

userHasLogin("");

break;

case 5:

showWarningMsg("");

refresh_img();

break;

case 6:

showWarningMsg("");

refresh_img();

break;

case 9:

break;

case 10: // admin & license doesn't exist

window.location = "i2/wizard/wiz_license.php";

break;

case 11: // admin & notice something

window.location = "i2/wizard/wiz_notice.php";

break;

case 12: // non-admin user & license doesn't exist

showWarningMsg("");

break;

case 13: // non-admin & trial license expired

showWarningMsg("");

break;

case 20: // upgrade database fail

errorMsg = getErrorMsg(data);

showWarningMsg("" + errorMsg);

break;

case 99:

errorMsg = getErrorMsg(data);

showWarningMsg( errorMsg );

break;

}

}

});

return false;

}

①$("#userName")[0]中的这个【0】表示什么意思呀?

②函数最后加了一个return false;它的作用是什么呢?能否省略?

请大神赐教!

我能很喜感的说,菜鸟看菜鸟写的代码吗?

两句都是废话。

$('#userName')表示根据id查找对象,但是html规范中id是唯一的,所以这里的[0]虽然是得到了js原生对象,但是实际上一点用都没有,参考后面的

var yanzheng = $("#user_varify").val();

同样的

usernameObj = $("#userName")[0];

if(usernameObj.value==''){

showWarningMsg("");

return false;

}

可以等效为

usernameObj = $("#userName")[0];

if(! $("#userName").val().length){

showWarningMsg("");

return false;

}

结尾的return false用来阻止事件冒泡,但是源码中的οnclick="check_form(); return false;"既然又写了一个return false,那么函数里面那个写不写都没用,反正没挂return。

正确的方式是因为访问者按回车也会触发表单提交,这样不需要点击submit按钮从而绕过了检测。

再说这个方法最好命名为ajaxSubmit之类的名字,而不是checkform,因为里面包含了提交处理。

这段代码的整体逻辑是

当点击提交按钮的时候对form数据进行检查,如果检查成功使用ajax提交数据。return false是用来阻止form产生普通的表单提交。

明白意思就好了,代码本身没什么值得学习的。

1.选择这个是返回jquery对象。

2.是取消动作用的。

建议你重新看下犀牛书,毫无基础的样子。

把jq对象,转换成,原生js对象。此时你不能用jq的方法,只能用js的所支持的dom方法操作。你还可以使用$("#userName").get(0)获取原生js对象,但是建议用数组下标的方法,这种方法更快捷。

①$(selector)返回的是jQuery对象,$(selector)[0]是返回原生的DOM对象,即document.getElementById()返回的那种对象。(不明白这里代码为什么一会用jQuery的方式一会用原生DOM...)

②这个函数是submit form用的吗,如果是的话,return false;的作用是取消form的提交

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值