mirror of
https://github.com/apache/struts.git
synced 2026-08-11 01:27:14 +00:00
WW-4532 Javascript generated by s:doubleselect has global variables that can interfer with the rest of the app
- Fix problem with missing var for loop variable and possible mixed scope
This commit is contained in:
@@ -42,12 +42,12 @@
|
||||
table.debugTable th, table.debugTable td {padding:2px;}
|
||||
-->
|
||||
</style>
|
||||
<p />
|
||||
<br>
|
||||
|
||||
<a href="#" onclick="toggleDebug('<#if parameters.id?if_exists != "">${parameters.id?html}<#else>debug</#if>');return false;">[Debug]</a>
|
||||
<div style="display:none" id="<#if parameters.id?if_exists != "">${parameters.id?html}<#else>debug</#if>">
|
||||
<h2>Struts ValueStack Debug</h2>
|
||||
<p />
|
||||
<br>
|
||||
|
||||
<h3>Value Stack Contents</h3>
|
||||
<table class="debugTable">
|
||||
@@ -69,7 +69,7 @@
|
||||
</#list>
|
||||
</#list>
|
||||
</table>
|
||||
<p />
|
||||
<br>
|
||||
|
||||
<h3>Stack Context</h3>
|
||||
<i>These items are available using the #key notation</i>
|
||||
|
||||
@@ -75,8 +75,9 @@
|
||||
<script type="text/javascript">
|
||||
<#assign itemCount = startCount/>
|
||||
var ${parameters.id}Group = new Array(${parameters.listSize} + ${startCount});
|
||||
for (i = 0; i < (${parameters.listSize} + ${startCount}); i++)
|
||||
${parameters.id}Group[i] = new Array();
|
||||
for (var i = 0; i < (${parameters.listSize} + ${startCount}); i++) {
|
||||
${parameters.id}Group[i] = [];
|
||||
}
|
||||
|
||||
<@s.iterator value="parameters.list">
|
||||
<#if parameters.listKey??>
|
||||
@@ -164,19 +165,15 @@
|
||||
${parameters.id}Redirect(${redirectTo});
|
||||
function ${parameters.id}Redirect(x) {
|
||||
var selected = false;
|
||||
for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) {
|
||||
for (var m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) {
|
||||
${parameters.id}Temp.remove(m);
|
||||
}
|
||||
|
||||
for (i = 0; i < ${parameters.id}Group[x].length; i++) {
|
||||
for (var i = 0; i < ${parameters.id}Group[x].length; i++) {
|
||||
${parameters.id}Temp.options[i] = new Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
|
||||
<#if parameters.doubleNameValue??>
|
||||
<#if parameters.doubleMultiple??>
|
||||
for (j = 0; j < ${parameters.doubleNameValue}.
|
||||
length;
|
||||
j++
|
||||
)
|
||||
{
|
||||
for (var j = 0; j < ${parameters.doubleNameValue}.length; j++) {
|
||||
if (${parameters.id}Temp.options[i].value == ${parameters.doubleNameValue?js_string}[j]) {
|
||||
${parameters.id}Temp.options[i].selected = true;
|
||||
selected = true;
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
</select>
|
||||
<script type="text/javascript">
|
||||
var fooGroup = new Array(2 + 0);
|
||||
for (i = 0; i < (2 + 0); i++)
|
||||
fooGroup[i] = new Array();
|
||||
for (var i = 0; i < (2 + 0); i++) {
|
||||
fooGroup[i] = [];
|
||||
}
|
||||
|
||||
fooGroup[0][0] = new Option("Antwerp", "AN");
|
||||
fooGroup[0][1] = new Option("Gent", "GN");
|
||||
@@ -24,11 +25,11 @@
|
||||
|
||||
function fooRedirect(x) {
|
||||
var selected = false;
|
||||
for (m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
for (var m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
fooTemp.remove(m);
|
||||
}
|
||||
|
||||
for (i = 0; i < fooGroup[x].length; i++) {
|
||||
for (var i = 0; i < fooGroup[x].length; i++) {
|
||||
fooTemp.options[i] = new Option(fooGroup[x][i].text, fooGroup[x][i].value);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
</select>
|
||||
<script type="text/javascript">
|
||||
var fooGroup = new Array(2 + 0);
|
||||
for (i = 0; i < (2 + 0); i++)
|
||||
fooGroup[i] = new Array();
|
||||
for (var i = 0; i < (2 + 0); i++) {
|
||||
fooGroup[i] = [];
|
||||
}
|
||||
|
||||
fooGroup[0][0] = new Option("Antwerp", "AN");
|
||||
fooGroup[0][1] = new Option("Gent", "GN");
|
||||
@@ -24,11 +25,11 @@
|
||||
|
||||
function fooRedirect(x) {
|
||||
var selected = false;
|
||||
for (m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
for (var m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
fooTemp.remove(m);
|
||||
}
|
||||
|
||||
for (i = 0; i < fooGroup[x].length; i++) {
|
||||
for (var i = 0; i < fooGroup[x].length; i++) {
|
||||
fooTemp.options[i] = new Option(fooGroup[x][i].text, fooGroup[x][i].value);
|
||||
if (fooTemp.options[i].value == 'BOR') {
|
||||
fooTemp.options[i].selected = true;
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
</select>
|
||||
<script type="text/javascript">
|
||||
var foo_barGroup = new Array(2 + 0);
|
||||
for (i = 0; i < (2 + 0); i++)
|
||||
foo_barGroup[i] = new Array();
|
||||
for (var i = 0; i < (2 + 0); i++) {
|
||||
foo_barGroup[i] = [];
|
||||
}
|
||||
|
||||
foo_barGroup[0][0] = new Option("Antwerp", "AN");
|
||||
foo_barGroup[0][1] = new Option("Gent", "GN");
|
||||
@@ -24,11 +25,11 @@
|
||||
|
||||
function foo_barRedirect(x) {
|
||||
var selected = false;
|
||||
for (m = foo_barTemp.options.length - 1; m >= 0; m--) {
|
||||
for (var m = foo_barTemp.options.length - 1; m >= 0; m--) {
|
||||
foo_barTemp.remove(m);
|
||||
}
|
||||
|
||||
for (i = 0; i < foo_barGroup[x].length; i++) {
|
||||
for (var i = 0; i < foo_barGroup[x].length; i++) {
|
||||
foo_barTemp.options[i] = new Option(foo_barGroup[x][i].text, foo_barGroup[x][i].value);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,9 @@
|
||||
</select>
|
||||
<script type="text/javascript">
|
||||
var fooGroup = new Array(2 + 0);
|
||||
for (i = 0; i < (2 + 0); i++)
|
||||
fooGroup[i] = new Array();
|
||||
for (var i = 0; i < (2 + 0); i++) {
|
||||
fooGroup[i] = [];
|
||||
}
|
||||
|
||||
fooGroup[0][0] = new Option("Antwerp", "AN");
|
||||
fooGroup[0][1] = new Option("Gent", "GN");
|
||||
@@ -24,11 +25,11 @@
|
||||
|
||||
function fooRedirect(x) {
|
||||
var selected = false;
|
||||
for (m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
for (var m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
fooTemp.remove(m);
|
||||
}
|
||||
|
||||
for (i = 0; i < fooGroup[x].length; i++) {
|
||||
for (var i = 0; i < fooGroup[x].length; i++) {
|
||||
fooTemp.options[i] = new Option(fooGroup[x][i].text, fooGroup[x][i].value);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user