今天我有点辛苦了:
function mk_input( name, val ) {
var inp = document.createElement( 'input' );
inp.name = name;
inp.value = val;
inp.type = 'hidden';
return inp;
}
Run Code Online (Sandbox Code Playgroud)
事实证明,设置name通过创建的元素createElement在IE中不起作用.它不会导致错误或任何事情,它只是默默地失败,导致人们思考为什么他们的隐藏字段没有正确填充.
据我所知,没有解决方法.你必须咬住子弹并<input>通过字符串操作创建标签并将其粘贴在其中.innerHTML.
有没有更好的办法?也许像jQuery这样的东西?我做了一个粗略的搜索,并没有找到任何与createElementJQuery 完全类似的东西,但也许我错过了一些东西.
我正在创建自己的twitter版本,我不知道如何让我的后端PHP脚本在输入的文本中选取@membername.包括多个@ membername,例如@billy @joseph,@ tyrone,@ kesha message
要么
@billy打电话给@tyrone他正在责怪@kesha关于你欠他的钱.
有关如何实现此目的的任何脚本?
我有一个包含多个表单的页面,我通过串行方式通过Ajax POST提交.起初,我尝试使用同步XHR请求,但这会导致浏览器在请求期间锁定,并破坏我的DOM操作效果,这是不可接受的.所以我最终使用的模式基本上是这样的:
var fcount = 0; // incremented for each form to be submitted
function submit_form( num ) {
var fdata = { ... }; // data from form # num
$.ajax( { async: true,
url: '/index.cgi',
data: fdata,
type: 'POST',
success: function() {
if ( num < fcount ) {
submit_form( ++num );
}
}
} );
}
$( '#submit_form_btn' ).click( function() { submit_form( 1 ) } );
Run Code Online (Sandbox Code Playgroud)
递归让我觉得这是一个基本上是迭代问题的丑陋解决方案.是否有更清洁或更优雅的方式可以处理?
在perl中使用<>运算符到达eof后会发生什么?
我正在逐行阅读INP1
while(<INP1>) {
}
Run Code Online (Sandbox Code Playgroud)
但我需要多次读取这个,我需要每次从文件的开头开始.我怎样才能做到这一点?是否有像在perl中刷新流的东西?
提前致谢.
我有一个每天更新文档的集合。有人可以为我提供一些建议,以返回过去一个月每天添加的文档数。我有一个带有创建时间戳的字段,如下所示.. "createdTimestamp" : ISODate("2014-03-19T19:25:23.351Z")
我在Ubuntu 10.10(x86)上使用mod_perl 2,mason和apache 2.2(来自apt的标准包).当我向服务器发送HTTP请求时,我得到以下内容:
$ nc localhost 80 < ~/Desktop/test.http
HTTP/1.1 200 OK
Date: Mon, 22 Nov 2010 00:32:02 GMT
Server: Apache/2.2.16 (Ubuntu)
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html
38
<html><body>Current IP Address: 127.0.0.1</body></html>
0
Run Code Online (Sandbox Code Playgroud)
我对此有点好奇.这些数字(38和0)是什么意思?我查看了我的日志,但我没有看到任何有意义的内容,我似乎无法找出谷歌的最佳搜索短语(如果我遗漏了文档中明显的内容,我很抱歉).我从telnet获得相同的结果(但Firefox似乎没有抛出任何类型的错误).
这是我的请求的内容(在末尾省略空格):
GET /test.html HTTP/1.1
HOST: example.com
Run Code Online (Sandbox Code Playgroud)
和我的脚本(test.html):
% my $ip = $r->connection->remote_ip();
<html><body>Current IP Address: <% $ip %></body></html>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
当我运行这个Perl脚本时:
#!/bin/perl
use XML::Bare;
$ob = new XML::Bare(text=>'<xml><name>Bob</name></xml>');
for $i (keys %{$ob->{xml}}) {print "KEY: $i\n";}
Run Code Online (Sandbox Code Playgroud)
我没有输出.但是,如果我放入$ob一个my():
#!/bin/perl
use XML::Bare;
my($ob) = new XML::Bare(text=>'<xml><name>Bob</name></xml>');
for $i (keys %{$ob->{xml}}) {print "KEY: $i\n";}
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
KEY: _z
KEY: _i
KEY: xml
KEY: _pos
Run Code Online (Sandbox Code Playgroud)
为什么会my()如此彻底地改变这种行为,特别是考虑到我处于最高级别my()应该没有任何影响?
我有以下内容.
package A;
sub new {
my ($class) = @_;
my $self = { };
bless $self, $class;
return($self);
}
sub run() {
die "Task: ",__PACKAGE__, "requires a run method";
}
package B;
use A;
our @ISA = qw(A);
sub new {
my ($class) = @_;
my $self = { };
bless $self, $class;
return($self);
}
package C;
use A;
my @Tasks;
sub new {
my ($class) = @_;
my $self = { };
bless $self, $class;
return($self);
}
sub …Run Code Online (Sandbox Code Playgroud) 我在perl doc中读到的perl标识符应该是word character.(不计算特殊的perl变量).
在网上某处我看到了这个示例脚本:
use 5.018;
use utf8;
my($ , $ , $ , $ ) = (1..4);
say "$ " if( $ + $ == $ );
Run Code Online (Sandbox Code Playgroud)
它没有任何错误.那么,perl允许一些"骨骼和箭头"字符作为变量名称?
关于我的正则表达式,我有一个问题/疑问.代码部分如下:
use strict;
my @list = ("1", "2", "123");
&chk(@list);
sub chk {
my @num = split (" ", "@_");
foreach my $chk (@num) {
chomp $chk;
if ($chk =~ m/\d{1,2}?/) {
print "$chk\n";
}
}
}
Run Code Online (Sandbox Code Playgroud)
在\d{4}将打印什么.在\d{3}将只打印123.但是,如果我改变\d{1,2}?它将打印所有.根据我到目前为止所读到的所有资料,我认为这{1,2}意味着:一位数但不超过两位.所以它应该只打印,1并且2正确吗?提取仅包含一到两位数字的项目需要什么?谢谢你的帮助.