Lookup setValue
IE6 tested, window.opener.document approved
by donabrams
HTML
By id:<br/>
<input type="text" id="test1"/><br/>
<input type="text" id="test2" value="FAILURE"/><br/>
<select id="test3">
<option value="dfsdgdfg">FAILURE</option>
<option value="failure">FAILURE</option>
<option value="success">SUCCESS</option>
</select><br/>
<select id="test4">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">SUCCESS</option>
<option value="failure" selected="selected">FAILURE</option>
</select><br/>
By name:<br/>
<input type="text" name="test5"/><br/>
<input type="text" name="test6" value="FAILURE"/><br/>
<select name="test7">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">SUCCESS</option>
<option value="failure">FAILURE</option>
</select><br/>
<select name="test8">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">SUCCESS</option>
<option value="failure" selected="selected">FAILURE</option>
</select><br/>
By name w/ period:<br/>
<input type="text" name="first.test9"/><br/>
<input type="text" name="first.test10" value="FAILURE"/><br/>
<select name="first.test11">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">SUCCESS</option>
<option value="failure">FAILURE</option>
</select><br/>
<select name="first.test12">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">SUCCESS</option>
<option value="failure" selected="selected">FAILURE</option>
</select><br/>
First:<br/>
<form id="first">
NOT <input type="text" name="test9"/><br/>
NOT <input type="text" name="test10" value="FAILURE"/><br/>
<select name="test11">
<option value="dfsdgdfg">SUCCESS</option>
<option value="failure">FAILURE</option>
<option value="success">FAILURE</option>
</select><br/>
<select name="test12">
<option value="dfsdgdfg">FAILURE</option>
<option value="success">FAILURE</option>
<option value="failure" selected="selected">SUCCESS</option>
...
JavaScript
$(function() {
var setValue = function(popName, val,doc) {
doc = doc ? doc : document;
popDest = $("#" + popName,doc);
popDest = popDest.length ? popDest : $("[name='" + popName + "']:input",doc);
if (!(popDest.length) && popName.indexOf('.')) {
var containerNameOrId = popName.substring(0, popName.indexOf('.'));
var fieldNameOrId = popName.substring(popName.indexOf('.') + 1);
var container = $("#" + containerNameOrId,doc);
container = container.length ? container : $("form[name='" + containerNameOrId + "']",doc);
if (container.length) {
popDest = $("#" + fieldNameOrId, container);
popDest = popDest.length ? popDest : $("[name='" + fieldNameOrId + "']:input", container);
}
}
if (popDest) {
if (0 <= $.inArray(popDest.attr('nodeName'),['INPUT','SELECT','BUTTON','TEXTAREA'])) {
popDest.attr('value', val);
} else {
popDest.html(val);
}
}
};
setValue("test1", "success");
setValue("test2", "success");
setValue("test3", "success");
setValue("test4", "success");
setValue("test5", "success");
setValue("test6", "success");
setValue("test7", "success");
setValue("test8", "success");
setValue("first.test9", "success");
setValue("first.test10", "success");
setValue("first.test11", "success");
setValue("first.test12", "success");
setValue("second.test9", "success");
setValue("second.test10", "success");
setValue("second.test11", "success");
setValue("second.test12", "success");
setValue("third.test9", "success");
setValue("third.test10", "success");
setValue("third.test11", "success");
setValue("third.test12", "success");
setValue("test13", "success");
setValue("test14", "success");
});