DoRowApp
函数未在FF,IE,Opera中定义。适用于Chrome。
function DoRowApp(id) {
document.getElementById('ANSWER.TTQ.MENSYS.1.').value = id;
document.getElementById('ANSWER.TTQ.MENSYS.2.').click();
return true;}
这是html
<a target="_blank" href="javascript:DoRowApp("_40558067");" title="Application Form"><img border="0"></a>
我们从xml获得
<cell>Application Form^javascript:DoRowApp("'||edit.mhd_code||'");^_blank</cell></row>
一如既往......帮助真棒。
同时此功能有效:
function DoRow(id) {
'use strict';
var LowerBound, UpperBound, StartAppNo, BaseAppNo, i;
LowerBound = mygrid.getRowIndex(id) - 25;
UpperBound = mygrid.getRowIndex(id) + 100;
StartAppNo = 25;
BaseAppNo = 0;
mygrid.selectRowById(id, true, true, false);
localStorage.clear();
if (mygrid.getRowIndex(id) - 25 > 0) {
StartAppNo = 25;
}
else {
StartAppNo = mygrid.getRowIndex(id);
}
localStorage.setItem("9999", StartAppNo);
if (LowerBound < 0) {LowerBound = 0; }
for (i = LowerBound; i <= UpperBound; i++) {
if (mygrid.getRowId(i)) {
localStorage.setItem(BaseAppNo, mygrid.getRowId(i));
BaseAppNo++;
}
}
document.getElementById('ANSWER.TTQ.MENSYS.1.').value = id;
document.getElementById('ANSWER.TTQ.MENSYS.2.').click();
return true;}
这个HTML就是
<a target="_blank" href="javascript:DoRow("_40558067");" title="Application Form"><img border="0"></a>
答案 0 :(得分:0)
我建议你让javaScript脱离你的xml:
<cell>Application Form^'||edit.mhd_code||'</cell>
甚至更好
<cell rowId="'||edit.mhd_code||'">Application Form</cell>
然后您生成以下HTML:
<a href="#" class="RowButton" data-rowId="_40558067" title="Application Form"><img border="0"></a>
现在您可以在javaScript中添加事件处理程序generic:
function DoRowApp (rowId) { /**/ }
// Simplified onLoad
window.onload = function () {
// Enum all elements with class="RowButton"
var rowButtons = document.getElementByClassName("RowButton");
for (var i = 0; i < rowButtons.length; i++) {
// Closure for i and rowButton
(function (i, rowButton) {
// get the data-rowId attribute
var rowId = rowButton.getAttribute("data-rowId");
// Simplified addEventHandlerListener
rowButton.onclick = function () {
// call your function
DoRowApp(rowId);
// return false to prevent a href
return false;
};
})(i, rowButton[i]);
}
};
我不知道你在哪里“打开”另一个网页;在javaScript中重定向到另一个页面是
window.location.href = "url";
要确保它是最顶层的框架,请使用
window.top.location.href = "url";
要打开新窗口,请使用window.open
window.open(url, "_blank");
进一步阅读
如您所见,要拥有编写跨浏览器javaScript代码的坚实基础,强烈建议您使用jQuery。编写简单javaScript的唯一方法是仅使用最新的浏览器版本 - 但如何告诉用户......
在jQuery中,上面的内容如下:
$(function () { // simplified jQuery(document).ready(function () {
// Enum all elements class="RowButton" and add click handler
$(".RowButton").click(function (e) {
e.preventDefault();
// Call your function
DoRowApp($(this).attr("data-rowId"));
});
});
因为看起来你是javaScript的首发,我强烈建议你不要使用w3schools,在http://w3fools.com上阅读原因!更好阅读