小编b. *_*eck的帖子

使用jQuery在'Enter'上提交表单?

我有一个bog标准的登录表单 - 一个电子邮件文本字段,一个密码字段和一个使用HTML/jQuery的AIR项目的提交按钮.当我在表单上按Enter键时,整个表单的内容消失,但表单未提交.有谁知道这是否是一个Webkit问题(Adobe AIR使用Webkit for HTML),或者我是否已将事情搞砸了?

我试过了:

$('.input').keypress(function (e) {
  if (e.which == 13) {
    $('form#login').submit();
  }
});
Run Code Online (Sandbox Code Playgroud)

但这既没有阻止清算行为,也没有提交表格.没有与表单相关的操作 - 这可能是问题吗?我可以在动作中加入javascript函数吗?

html javascript forms jquery webkit

421
推荐指数
8
解决办法
47万
查看次数

PHP fopen()如果尚不存在则不创建文件

作为应用程序日志记录的一部分,我正在尝试打开本地文件,如果该文件尚不存在,则创建新文件.这就是我所拥有的:

$path = '/home/www/phpapp/logs/myawesome_logfile.txt';
$f = (file_exists($path))? fopen($path, "a+") : fopen($path, "w+");
fwrite($f, $msg);
fclose($f);
chmod($path, 0777);
Run Code Online (Sandbox Code Playgroud)

我已经仔细检查过了,/logs目录是chmod 0777,我甚至已经采取了额外的步骤,将它变成了apache:apache for good measure.尽管如此,当脚本打开文件时,它会向我发出警告,指出文件不存在并且炸弹了.没有创建任何文件.

我是否需要禁止fopen()警告才能创建文件?

php

18
推荐指数
2
解决办法
6万
查看次数

PHP exec()和路径中的空格

我正在PHP应用程序中执行以下操作:

  $source = '/home/user/file.ext';
  $output_dir = $this->setOutputString();

  chdir('/home/ben/xc/phplib/bgwatcher-2011a/a01/');
  exec('php bin/createjob.php $source $output_dir', $output);

  return $output[0];
Run Code Online (Sandbox Code Playgroud)

问题是:我可以控制$source,但不是$output_dir,这是一个传统的Windows文件系统,并且路径中有空格.一个例子$output_dir是:

/home/vol1/district id/store id/this_is_the_file.html
Run Code Online (Sandbox Code Playgroud)

将输出字符串插入exec()函数时,我尝试了两种方法:

addslashes($output_dir)'"' . $output_dir . '"'转义整个输出字符串.在第一种情况下,路径连接到:

/home/vol1/districtthis_is_the_file.html

...第一个空格和文件名之间的所有内容都被删除了.在第二种情况下,exec()似乎扔鞋并且没有正确执行 - 不幸的是,错误信息在机器中丢失 - 我可以提供它,如果它是绝对必要的,但我也在时间限制下找到解决方案.

这是什么解决方案?我sprintf()是整个字符串exec()吗?我很困惑为什么addslashes不能正常工作以逃避空间,我认为它与exec()的清理有关,但我找不到任何备份它的文档.

更新:我已经尝试了escapeshellarg()和preg_replace()但没有成功.进一步思考这个问题,我是否需要双重逃避这条道路?还是逃避路径和命令?如果路径被exec()取消一次,并且在执行命令之前由PHP取消一次,那么我是否需要考虑这两个转义?或者这不是它的工作原理吗?

php path exec

14
推荐指数
4
解决办法
2万
查看次数

jQuery/Javascript:单击复选框上的事件和"已检查"属性

代码:

$('input.media-checkbox').live('click', function(e){

    e.preventDefault();
    var that = $(this);

    if (that.attr('checked') == 'checked'){

        var m = that.attr('media');
        var mid = 'verify_' + m;
        that.parents('div.state-container').find('ul.' + mid).remove();
        that.attr('checked', false);
    } else {

        var url = AJAX_URL;

        $.ajax({
           type: 'GET',
           url: url,
           dataType: 'html',
           success: function(data){

                that.parents('li').siblings('li.verification').children('div.media-verification').append(data).fadeIn(500);
                that.attr('checked', 'checked');
           }
        }); 
    }

    return false;
});
Run Code Online (Sandbox Code Playgroud)

我在一个表单中ajaxing,然后在相关的复选框上触发click事件到另一个部分的ajax,如果有必要的话.很好地插入表单,并触发单击事件,检查需要检查的框并触发第二个ajax,因为checked复选框的属性最初是false.

如果我取消其中一个盒子,我的奶酪是什么?尽管如此e.preventDefault(),该checked属性设置为false在测试之前,因此该if语句始终执行该else语句.我也试过这个$.is(':checked'),所以我完全不知所措.

看来unchecked - > checked状态读取原始状态,但是选中 - >未选中则不会.有帮助吗?

javascript jquery events click

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

未知的GW-BASIC函数/语法:Q(var)= var

我正在将一个过时的旧GW-BASIC程序翻译成JavaScript,而且我遇到了一段令我难过的语法.注意(再次):完全不是我的代码,变量名称都是疯狂的,这就是为什么我首先移植它.

1380 Z = 1
1390 RATIO = FCO2 /(1-FCO2-10^REFFO2)
1400 AA =(1 - 2*RATIO*(100 / MIXRATIO - 1))/(1 + 2*(100 / MIXRATIO - 1))
1410 PART = LOG(1 - AA)- LOG(100 / MIXRATIO - 1)
1420 FOR I = 1 TO - 1 STEP -2
1430 H = I
1440 W = T + H 
1450 GG = 62.110326# - .02144446#*W + 4.720326E-07*(W^ 2)+(- 4.5574288#)*(10^(- 12))*(W^ 3)- 7.343018200000001#*(10^(- 15))*(W^ 4) 
1460 KK = EXP(- GG /(R*(W + 273.18)))
1470 …
Run Code Online (Sandbox Code Playgroud)

syntax basic gw-basic

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

jQuery Toggle - 任何知道应用哪个(隐藏或显示)的方法?

我在Adobe AIR工作,我有一个div列表,显示点击隐藏div中每个列表项的扩展信息 - 如下所示:

$(this).click(function(){
 $(this).next('div.info').toggle();
});
Run Code Online (Sandbox Code Playgroud)

这会扩展整个应用程序的高度,所以最终,如果用户要扩展所有div,那么侧面会有一个滚动条.为了解决这个问题,我想调整窗口的高度(增长或缩小,取决于).我已经完成了所有代码,除了我无法弄清楚如何进入.toggle函数以找出将要应用的效果(隐藏或显示).将我的if()语句设置为关键字在info div的end-state上不起作用,因为它会在点击时立即评估div.

有没有办法知道在jQuery中应用了哪个.toggle所以我可以使用该状态更改来应用我的其他更改?

jquery

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

OS X和Vmware在iPhone开发方面取得了成功吗?

在尝试并且未能在临时Mac上为客户开发iPhone应用程序之后,我开始研究VMware Workstation以虚拟化OS X.我想知道是否有人找到了任何陷阱,或者是否整件事情都是行不通的.

为了记录,我有一个古老的条纹苹果标志我撬开了我的旧Apple IIe,并且粘贴在我的开发笔记本电脑的盖子上,这样我就能遵守OS X EULA的精神.

iphone macos virtualization vmware development-environment

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

随机化数组中的元素?

我为我的艺术家朋友创建了一个网站,她希望布局保持不变,但她也希望她制作的新画作能够混合到当前版面中.所以我在主画廊页面上有12个缩略图(thumb1 - thumb12),还有18个图像(img1 - img18)也可以放置

我想到的方法是创建一个包含所有图像的数组,随机化它,然后简单地刮掉前12个并将它们加载到拇指槽中.另一种方法是从阵列中随机选择12个图像.在第一种情况下,我找不到一种随机化数组元素的方法.在后一种情况下,除了使用第二个数组之外,我无法将我的大脑包围在如何防止图像加载多次,这看起来非常低效和可怕.

顺便说一句,我在Javascript中正在做所有这些.

javascript arrays algorithm shuffle

8
推荐指数
2
解决办法
3544
查看次数

在transclude结束后触发方法

我有一个Angular指令,用于创建手风琴<ol><li>元素,每个<li>内容都包含在一个被转换的模板中.我需要触发一个方法来检查这些<li>元素中是否有任何错误,然后打开那个手风琴,但是在转换元素之后我找不到触发方法的方法.

是否有正确计时的钩子或指令配置?

angularjs angularjs-directive

8
推荐指数
1
解决办法
784
查看次数

在PHP中添加到多维数组

我有一个从数据库返回的数组,如下所示:

$data = array(201 => array('description' => blah, 'hours' => 0),
              222 => array('description' => feh, 'hours' => 0);
Run Code Online (Sandbox Code Playgroud)

在下一段代码中,我正在使用a foreach并检查另一个表中的键.如果下一个查询返回数据,我想用新的小时值更新该键的数组中的'hours'值:

foreach ($data as $row => $value){
   $query = $db->query('SELECT * FROM t WHERE id=$row');
   if ($result){
      $value['hours'] = $result['hours'];
   }
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了我已经尝试了foreach循环的每个声明组合,但我不断得到错误,这$value['hours']是一个无效的引用.我试过宣布$value[]......但这也行不通.我不需要迭代,$value所以不需要另一个foreach循环.

当然,这比我的大脑感知更容易.

这是整个片段:

foreach($_gspec as $key => $value){

            $sql = sprintf('SELECT * FROM List WHERE specialtyID=%s', $key);
            $query = $db->query($sql);

            if ($query->num_rows() !== 0){

                $result = $query->row_array();
                $value['hours'] = $result['hours']; …
Run Code Online (Sandbox Code Playgroud)

php mysql arrays

6
推荐指数
1
解决办法
5899
查看次数