javascript - Javascript在Grails中不起作用

标签 javascript grails gsp

我有一个简单的脚本在html中效果很好。但是在gsp中,它不再起作用了。

我的脚本非常简单,如下所示:

// program variables
var displayElement;

// constants
var maxLength = 300;

// calculator variables
var text;
var currentLength;
var dotPosition;

var lastNumber;
var currentNumber;
var rememberedNumber;
var operator;

alert('hello22');

function parseNumber(number) {
        if ((number == -1) && (dotPosition > 0) || (maxLength == currentLength)) return;
        if (currentLength == 0) text = '';
        currentLength++;
        if (number == -1) {
                text += '.';
                dotPosition = currentLength;
        } else text += number;

        displayElement.value = text;
}

function parseBackspace() {
        if (currentLength == 0) return;
        if ('.' == text[currentLength-1]) dotPosition = 0;
        text = text.slice(0, currentLength-1);
        if(--currentLength == 0) text = '';
        displayElement.value = text;
}

function parseClearEntry() {
        currentLength = 0;
        text = '0';
        dotPosition = 0;
        displayElement.value = text;
}

function parseClear() {
        parseClearEntry();
        lastNumber = 0;
        operator = '';
        //added by Kevin
        displayElement.value = '';
}

function initAll() {
        alert('hello1113333333');
        text = '0';
        currentNumber = 0;
        currentLength = 0;
        displayElement = document.getElementById('TextBox');
        rememberedNumber = 0;
        lastNumber = 0;
        dotPosition = 0;
        alert('hello1111111111');
}

当我包含在gsp View 页面中时,我将<g:javascript src="getKey.js" />放在<head></head>之间。

然后我像<body onload="initAll()">这样调用函数initAll(),而像<div class="holder"><input type="button" class="buttonstyle" value="7" name="Seven" onclick="parseNumber(7)" /></div>这样调用其他函数

谁能告诉我怎么了?我确定脚本已正确包含,因为引发了警报“hello22”。

最佳答案

尝试在页脚处放置以下代码:

<g:script>
(function() { initAll(); })();
</g:script>

要么
<g:script>
window.onload = initAll; //note that is's without braces
</g:script>

代替<body onload="initAll"

关于javascript - Javascript在Grails中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752180/

相关文章:

javascript - 语法错误: missing: after property id

java - 将字符串中的正则表达式模式替换为取决于匹配的替换字符串

regex - 如何找到文件路径字符串的一部分?

grails - 在glink标签的id属性中添加多个值

javascript - 移动后获取 Canvas 中的鼠标位置

javascript - PHP JSON_encode 不工作

没有管理器的 Grails Spring Security Ldap

java - 如何为 Netbeans 配置 Grails?

grails - 如何在gsp/groovy中获取检查项目

html - 表格行和标题未正确对齐?