Javascript – 如何避免长/丑if / else语句?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript – 如何避免长/丑if / else语句?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2114字,纯文字阅读大概需要4分钟。
内容图文
![Javascript – 如何避免长/丑if / else语句?](/upload/InfoBanner/zyjiaocheng/766/d43a38965dbd470b97486644891a63bb.jpg)
我正在学习Javascript(主要使用JQuery),并想知道是否有人可以帮助我.
我编写了一个if / else语句来检查URL中是否出现特定字符串,然后根据字符串将表单内容发布到特定的php脚本.
问:我正在使用的代码有效,但是感觉笨拙且不必要地长! – 我认为必须有一个更简单的方法来写这个!?我已经浏览了一下,但大多数答案似乎只是提供代码,没有任何东西可以帮助我理解它是如何完成的..
我想要实现的是:
>用户完成4种注册表单中的一种(prereg1.html,prereg2.html,prereg3.html,prereg4.html)
>根据URL,if / else语句将表单数据发送到相应的PHP脚本(add_prereg1.php,add_prereg2.php等),该脚本将数据添加到电子邮件列表数据库(由活动监视器托管)
注意:我的PHP知识也很差 – 因为活动监视器列表每个都有唯一的ID,我可以让php在右侧列表中发布表单数据的唯一方法就是有4个单独的’prereg.php’脚本.我确定有一种方法可以让php脚本根据javasscript传递的变量找出要发布的列表,但这在现阶段有点超出我的意义!任何指针欢迎..
无论如何这里是if / else语句:
if (document.location.href.indexOf('prereg1') > -1) {
$.ajax({
type: "POST",
url: "bin/add_prereg1.php",
data: 'name=' + name + '&email=' + email
});
}
else {
if (document.location.href.indexOf('prereg2') > -1) {
$.ajax({
type: "POST",
url: "bin/add_prereg2.php",
data: 'name=' + name + '&email=' + email
});
}
else {
if (document.location.href.indexOf('prereg3') > -1) {
$.ajax({
type: "POST",
url: "bin/add_prereg3.php",
data: 'name=' + name + '&email=' + email
});
}
else {
if (document.location.href.indexOf('prereg4') > -1) {
$.ajax({
type: "POST",
url: "bin/add_prereg4.php",
data: 'name=' + name + '&email=' + email
});
}
}
}
}
谢谢你的帮助.
解决方法:
考虑一下:
var match = window.location.href.match( /prereg(\d)/ );
if ( match ) {
$.ajax({
type: 'POST',
url: 'bin/add_prereg' + match[1] + '.php',
data: 'name=' + name + '&email=' + email
});
}
现场演示:http://jsfiddle.net/4MWDm/
您只需在字符串中搜索序列“prereg”后跟一个数字. parens捕获数字,因此您可以使用[1]访问它.
顺便说一句,使用window.location而不是document.location.
document.location was originally a read-only property, although Gecko
browsers allow you to assign to it as well. For cross-browser safety,
use window.location instead.
资料来源:https://developer.mozilla.org/en/DOM/document.location
内容总结
以上是互联网集市为您收集整理的Javascript – 如何避免长/丑if / else语句?全部内容,希望文章能够帮你解决Javascript – 如何避免长/丑if / else语句?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。