小编Jon*_*noB的帖子

如何检查输入日期是否等于今天的日期?

我有一个id为'date_trans'的表单输入.该日期输入的格式(有效的服务器端)可以是以下任何一种:

  • 日/月/年
  • DD-MM-YYYY
  • YYYY-MM-DD
  • YYYY/MM/DD

但是,在发布表单之前,我想检查date_trans字段的日期是否等于今天的日期.如果所用的日期是客户的日期(即它使用js),那就好了,因为我也在服务器上运行了一次双重检查.

我完全迷失了如何在jQuery或简单的旧javascript中进行日期比较.如果它有帮助,我使用jquery datepicker

javascript jquery

59
推荐指数
5
解决办法
14万
查看次数

为什么datetime-> days总是返回一个正数

// Difference from a date in the future:
$a = new DateTime('2000-01-01');
$b = new DateTime('2000-01-05');
$interval = $b->diff($a);
return $interval->days;             // Returns 4


// Difference from a date in the past:
$a = new DateTime('2000-01-01');
$b = new DateTime('1999-12-28');
$interval = $a->diff($b);           // Arguments swapped
return $interval->days;             // Returns 4
Run Code Online (Sandbox Code Playgroud)

为什么这两个函数都返回正4?如果过去的日期,我如何返回负数?

php datetime

45
推荐指数
4
解决办法
3万
查看次数

GitHub Merge分支'主人'

经过多年的svn使用后,我一直在尝试Git和Github.我似乎已经掌握了基础知识,但有一项令我困惑.

  • UserA对FileA进行了更改并推送到远程服务器(GitHub)

  • UserB对FileB进行了更改.他首先从远程服务器拉出,然后将他的更改推送到FileB到远程服务器

  • GitHub提交历史记录显示来自UserA的推送和来自UserB的推送

  • 但是,UserB的提交历史记录中还有一个名为"Merge branch"master" https://github.com/xxx/yyy " 的附加条目.在Github中查看diff表明这是UserA对FileA所做的更改的精确副本

为什么显示这个副本 - 从UserA到FileA的推送和Merge分支主条目都是相同的...第二个对我来说似乎是多余的.

git github

42
推荐指数
1
解决办法
2万
查看次数

PHP spl_autoload_register

我试图利用PHP中的自动加载.我在不同的目录中有各种类,所以我已经引导自动加载如下:

function autoload_services($class_name)
{
    $file = 'services/' . $class_name. '.php';
    if (file_exists($file))
    {
        require_once($file);
    }
}

function autoload_vos($class_name)
{
    $file = 'vos/' . $class_name. '.php';
    if (file_exists($file))
    {
        require_once($file);
    }
}

function autoload_printers($class_name)
{
    $file = 'printers' . $class_name. '.php';
    if (file_exists($file))
    {
        require_once($file);
    }
}

spl_autoload_register('autoload_services');
spl_autoload_register('autoload_vos');
spl_autoload_register('autoload_printers');
Run Code Online (Sandbox Code Playgroud)

这一切似乎都很好,但我只想仔细检查这确实被认为是可以接受的做法.

php spl-autoload-register

30
推荐指数
2
解决办法
3万
查看次数

Javascript select onchange ='this.form.submit()'

我有一个带有选择和几个文本输入的表单.我想要在更改选择时提交表单.使用以下方法可以正常工作:

onchange="this.form.submit()"
Run Code Online (Sandbox Code Playgroud)

但是,如果表单还包含提交按钮,则更改选择时表单不会提交.我猜是某种冲突.

我有什么选择?

我应该使用类似的东西 $(this.form).trigger("submit") 吗?

javascript jquery select

30
推荐指数
4
解决办法
13万
查看次数

Bootstrap Affix

我正在尝试使用Twitter Bootstrap的新词缀选项,但我不能完全正确.

我在http://jsfiddle.net/yPgUu/1/上放了一个例子,相关部分是

<ul class="nav nav-list" data-spy="affix">
Run Code Online (Sandbox Code Playgroud)

左侧导航从正确的位置开始.但是,当您向下滚动时,导航器顶部会有一个间隙.我希望导航始终位于当前视图的顶部,而不是间隙.

我也试过玩data-offset-top="200",但这似乎让菜单反弹.

我错过了什么?

javascript css jquery twitter-bootstrap

17
推荐指数
1
解决办法
2万
查看次数

Jquery陷阱表单提交()

我目前正在使用jquery来捕获表单的提交,并向用户显示一个确认对话框.如果用户单击是,则表单应提交.如果用户单击否,则关闭对话框.

这一切都运行良好,但有一个问题:当用户单击是时,这会再次触发相同的代码,并重新打开对话框.

$("#myform").submit(function (event) {
    if (something) {
        var $dialog = $('<div></div>').dialog({
            buttons: {
                "OK": function () {
                    $dialog.dialog('close');
                    $("#myform").submit();
                    return;
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });
        $dialog.dialog('open');
        event.preventDefault();
        return false;
    } else {
        $("#myform").submit();
    }
});
Run Code Online (Sandbox Code Playgroud)

我理解为什么会这样,只是不确定最好的方法来解决它.我意识到我可以在按钮点击时显示模态,而不是表单提交,但这并没有解决用户点击键盘上输入按钮提交表单的问题.

forms jquery submit

12
推荐指数
2
解决办法
1万
查看次数

PHP动态类加载

让我们说我有一个我想要转换为值对象的数组.

我的值对象类如下:

/* file UserVO.php*/
 class UserVO
 {
    public $id;
    public $email;

     public function __construct($data)
     {
         $this->id = (int)$data['id'];
         $this->email = $data['email'];
     } 
 }
Run Code Online (Sandbox Code Playgroud)

我创建了我的值对象数组,如下所示:

/* file UserService.php*/
$array = array(
array(...),
array(...));
$count = count($array);
for ($i = 0; $i < $count; $i++)
{
   $result[] = new UserVO($array[$i]);
}
return $result;
Run Code Online (Sandbox Code Playgroud)

好的,所以一切正常.但是,我想具体说明要动态创建的VO,这样我就可以使用一个动态函数来创建我的VO.

就像是:

$ret = create_vo($array, 'UserVO');

function create_vo($data, $vo)
{
  $count = count($data);
  for ($i = 0; $i < $count; $i++)
  {
     $result[] = new $vo($data[$i]); //this obviously …
Run Code Online (Sandbox Code Playgroud)

php class

11
推荐指数
1
解决办法
2万
查看次数

Flask Python模型验证

来自php背景,我正在通过Flask学习python.我已经为客户端使用了WTForms,这很好地处理了验证.

但是,我想要使用的东西之一是公共API,在这种情况下,我希望所有验证都在我的模型上运行.我认为SQLAlchemy会包含验证功能,但似乎并非如此.

我遇到了Colander,它看起来很不错,但我有点惊讶的是,没有更多无处不在的验证库.更令人惊讶的是,SQLAlchemy本身并没有这样做.

这里有什么选择?也许我错过了什么,但我怎样才能轻松验证模型数据?

python validation flask

11
推荐指数
3
解决办法
1万
查看次数

谷歌Chrome缓存

我有一个嵌入flash(flex)应用程序的html页面.

我有以下标题:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-STORE">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
Run Code Online (Sandbox Code Playgroud)

此外,每次我发布新版本的应用程序时,我都会更改文件名.因此,它变成MyApp_v1.swf,然后更新为MyApp_v2.swf.

尽管如此,chrome仍然会缓存html页面和swf文件.这是一个主要问题,因为客户端不会看到更新的swf,除非他们清除浏览器缓存.

我甚至尝试通过更改htaccess文件来解决这个问题,并重命名托管swf文件的index.html文件:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.mysite.com/app[R,L] 
DirectoryIndex index.html #this was changed from myapp.html
Run Code Online (Sandbox Code Playgroud)

即使在这样做之后,Chrome仍然会缓存swf,并且仍在从旧的html文件中读取.我在html上做了一个视图源,它仍然显示旧文件.

这在任何其他浏览器中都可以正常工作.

google-chrome browser-cache

9
推荐指数
1
解决办法
2万
查看次数