小编pet*_*les的帖子

如何在使用jeditable进行提交之前访问旧值和新值

我有一个字段由jeditable更新.我想在提交更新之前输出警告消息,如果值正在减少(这会导致数据丢失),但是如果它正在增加则不会.

这似乎是jeditable的onsubmit函数的一个很好的候选者,我可以愉快地触发它.我可以从$('input',this).val()中获取新值,但是如何在此上下文中获取要与之进行比较的原始值?

...

自从发布上述解释/问题后,我想出了各种解决方案.通过更改jquery.ready中的invokation

$('#foo').editable(...);
Run Code Online (Sandbox Code Playgroud)

$('#foo').hover(function(){
  var old_value = $(this).text();
  $(this).editable('ajax.php', {
     submitdata {'old_value':old_value}
  });
});
Run Code Online (Sandbox Code Playgroud)

我可以在onsubmit方法中使用settings.submitdata.old_value.

但肯定有更好的方法吗?为了能够还原它,jeditable必须仍然将旧值隐藏在某个地方.那么问题就变成如何从onsubmit函数访问它?

非常感谢任何建议.

jeditable onsubmit

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

在 Mac OSX 上构建的 Docker 映像不会在 AWS EC2 实例上运行

使用 M1 处理器在 Mac OSX 上构建的映像,部署到 EC2 实例。但是当脚本运行时,它会产生错误:

standard_init_linux.go:219: exec user process caused: exec format error

在 Stackoverflow 的其他地方,这被解释为操作系统架构不匹配。果然在 EC2 实例上运行“uname -m”显示它是 x86_64,“docker image inspect”显示容器具有架构 arm64。

这是我不明白的地方。我的 Mac 上的“uname -m”也显示为 x86_64。那么容器如何继承不同的架构呢?

更重要的是,如何在我的 Mac 上构建可以在 EC2 上运行的映像?

Docker 文件很简单

FROM python
WORKDIR /
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY src /src
Run Code Online (Sandbox Code Playgroud)

src 目前包含一些简单的 python 脚本,执行如下:

docker run container/name python test.py

这在我的 Mac 上运行良好,但在 AWS 上执行时会出现上述错误。

macos amazon-ec2 docker apple-silicon apple-m1

5
推荐指数
1
解决办法
1199
查看次数

CasperJS无法识别PhantomJS网页模块

运行最新版本的Casper 1.1.0-beta3和Phantom 1.9.7.但是,即使是最简单的casper脚本:

var casper = require('casper').create();

casper.start('http://casperjs.org/', function() {
    this.echo('foo');
});

casper.run();
Run Code Online (Sandbox Code Playgroud)

因类型错误而失败

TypeError: 'undefined' is not a function (evaluating 'require('webpage').create()')
  /usr/local/src/casperjs/modules/casper.js:2446 in createPage
  /usr/local/src/casperjs/modules/casper.js:1703 in start
  /var/sites/phantom/simple.js:5
Run Code Online (Sandbox Code Playgroud)

所需的"网页"是PhantomJS模块,在运行幻像脚本时工作正常.require方法似乎也可以正常工作(按照上面的第1行)加载自身,所以看起来PhantomJS只能被选择性识别.

Phantom安装在我的$ PATH上的/ usr/local/bin中.Casper符号链接到同一位置.O/S是Ubuntu 13.10.

关于如何说服Casper与Phantom(或反之亦然)玩得很好的任何建议都将非常感激.

phantomjs casperjs

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