Javascript-以False条件运行代码
Javascript - Running Code in False Conditional
我在PHP中使用JavaScript来保留表单值。表单的一部分是动态生成的,因此基于用户的子女情况(这是一个保险表单)。因此,有时根据用户的输入,某些PHP值根本不存在(如果用户只选择了一个孩子,则$childBirthyar2将不存在)。显然,这给Javascript带来了一个问题。
我想我可以用一个条件语句来解决它。事实并非如此。我仍然得到相同的错误,我是在实现条件之前,特别是:
Timestamp: 7/16/2016 6:53:15 PM
Error: SyntaxError: expected expression, got ')'
Source File: https://insurancemidam.com/test/confirmation.php
Line: 665, Column: 41
Source Code:
cycleSelectOptions('#childBirthyear3', );
现在我明白了它为什么会出现错误(在浏览器中运行之前,代码读取cycleSelectOptions('#childBirthyear3', $childBirthyear3 )
,而$childBirthyar3在这个实例中不存在);然而,我甚至不太确定为什么会达到这个代码。为了理解我的意思,这就是代码在浏览器中的样子:
cycleSelectOptions('#childBirthyear1', 1900);
cycleSelectOptions('#childBirthday1', 01);
cycleSelectOptions('#childBirthmonth1', 11);
if(2 >= 2) {
cycleSelectOptions('#childBirthyear2', 1900);
cycleSelectOptions('#childBirthday2', 01);
cycleSelectOptions('#childBirthmonth2', 01);
}
if(2 >= 3) {
cycleSelectOptions('#childBirthyear3', );
cycleSelectOptions('#childBirthday3', );
cycleSelectOptions('#childBirthmonth3', );
}
if(2 >= 4) { cycleSelectOptions('#childBirthyear4', );
cycleSelectOptions('#childBirthday4', );
cycleSelectOptions('#childBirthmonth4', );
}
if(2 >= 5) { cycleSelectOptions('#childBirthyear5', );
cycleSelectOptions('#childBirthday5', );
cycleSelectOptions('#childBirthmonth5', );
}
if(2 >= 6) { cycleSelectOptions('#childBirthyear6', );
cycleSelectOptions('#childBirthday6', );
cycleSelectOptions('#childBirthmonth6', );
}
if(2 >= 7) { cycleSelectOptions('#childBirthyear7', );
cycleSelectOptions('#childBirthday7', );
cycleSelectOptions('#childBirthmonth7', );
}
if(2 >= 8) { cycleSelectOptions('#childBirthyear8', );
cycleSelectOptions('#childBirthday8', );
cycleSelectOptions('#childBirthmonth8', );
这是原始的PHP
if($hasChildren) {
echo"
if($childBirthyear1) {
cycleSelectOptions('#childBirthyear1', $childBirthyear1);
cycleSelectOptions('#childBirthday1', $childBirthday1);
cycleSelectOptions('#childBirthmonth1', $childBirtmonth1);
}
if($childBirthyear2) {
cycleSelectOptions('#childBirthyear2', $childBirthyear2);
cycleSelectOptions('#childBirthday2', $childBirthday2);
cycleSelectOptions('#childBirthmonth2', $childBirtmonth2);
}
if($childBirthyear3) {
cycleSelectOptions('#childBirthyear3', $childBirthyear3);
cycleSelectOptions('#childBirthday3', $childBirthday3);
cycleSelectOptions('#childBirthmonth3', $childBirtmonth3);
}
if($childBirthyear4) { cycleSelectOptions('#childBirthyear4', $childBirthyear4);
cycleSelectOptions('#childBirthday4', $childBirthday4);
cycleSelectOptions('#childBirthmonth4', $childBirtmonth4);
}
if($childbirthyear5) { cycleSelectOptions('#childBirthyear5', $childBirthyear5);
cycleSelectOptions('#childBirthday5', $childBirthday5);
cycleSelectOptions('#childBirthmonth5', $childBirtmonth5);
}
if($childBirthyear6) { cycleSelectOptions('#childBirthyear6', $childBirthyear6);
cycleSelectOptions('#childBirthday6', $childBirthday6);
cycleSelectOptions('#childBirthmonth6', $childBirtmonth6);
}
if($childBirthyear7) { cycleSelectOptions('#childBirthyear7', $childBirthyear7);
cycleSelectOptions('#childBirthday7', $childBirthday7);
cycleSelectOptions('#childBirthmonth7', $childBirtmonth7);
}
if($childBirthYear8) { cycleSelectOptions('#childBirthyear8', $childBirthyear8);
cycleSelectOptions('#childBirthday8', $childBirthday8);
cycleSelectOptions('#childBirthmonth8', $childBirtmonth8);";
}
我不认为有问题的代码会被执行——毕竟,2不是>=3。
谢谢你的帮助!
在JavaScript字符串中使用这些变量之前,我认为您需要在PHP中为它们设置一些值。也许是一些简单的东西,比如:
if($hasChildren) {
echo "
...
cycleSelectOptions('#childBirthyear3', " . ((isset($childBirthyear3))?$childBirthyear3:"''") . ");
...";
}
也就是说,如果没有设置PHP变量,那么在JS中插入一个空白字符串。。。当然,您可以将"默认"值替换为您喜欢的任何值。
相关文章:
- AJAX调用运行C代码的最佳实践
- 在经过一段时间或满足条件后运行代码
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- JQuery 帖子未在 PHP 文件中运行代码
- 当ajax请求发生时运行代码的Chrome扩展
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- 仅当客户端连接到Meteor服务器时才运行代码
- 在.each()循环中的ajax完成后,Jquery运行代码
- node.js和Cygein,我该如何运行代码
- 未访问全局变量,未运行代码
- Meteor - 在客户端上的异步回调的 for 循环后运行代码
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 函数结束时如何运行代码
- JS 在不满足条件时在 if 语句中运行代码段
- 在 Ember 视图参数更改上运行代码
- 如何在 YUI 模块中运行代码
- 如何在未在 iframe 中定义的 iFrame 中运行代码
- 在后台运行代码,同时显示警报
- 加载页面时运行代码