#!/usr/local/bin/perl -T # Standalone demo for repeatable html input field. use warnings; use strict; use CGI; sub escapeHTML { my($v) = @_; $v =~ s/&/&/g; $v =~ s/</g; $v =~ s/>/>/g; $v =~ s/"/"/g; $v; } our(@nam); our $ownurl = "cpdemo.cgi"; sub hparm { @nam = grep { length } CGI::param("fld-nam"); } sub htop { print qq{Content-Type: text/html; charset=utf-8\n}, qq{\n}, qq{\n}, qq{\n}, q{
\n};
}
sub hbot {
print qq{\n};
}
sub hmain {
${^TAINT} or die "run in taint mode (perl -T) please";
hparm;
htop;
hform;
hout;
hbot;
}
hmain;
1;
__END__
####
/*
Standalone demo for repeatable html input field: javascript.
*/
function addanother(fld) {
// vvv first part should work in any browser
var tpl = document.getElementById("addtpl-" + fld);
var cpy = tpl.cloneNode(true);
cpy.id = "";
cpy.className = "";
tpl.parentNode.insertBefore(cpy, tpl);
// vvv second part only works in some browsers, but the form still works without it
var tlo = cpy.getElementsByClassName && cpy.getElementsByClassName("form_tailloc")[0];
var tco = document.getElementById("tail-" + fld);
if (tlo && tco)
tlo.appendChild(tco);
};
function initcpdemo() {
var ssa = document.getElementById("style_js");
ssa.disabled = false;
};
initcpdemo();
/* END */
####
/*
Standalone demo for repeatable html input field: common css.
*/
.form_addlink {
display: none;
}
/* END */
####
/*
Standalone demo for repeatable html input field: css used if javascript is available.
*/
.form_addtemplate, .form_addusage {
display: none;
}
a.form_addlink {
display: inline;
}
/* END */