我知道这个话题已被多次询问,因为我多次尝试解决但问题仍然存在。
HTML
<button buttontype="normal" name="submitAction" value="myFun"
className="" method="" id="myFun" onclick="javascript:myFun()"/>
JavaScript
<script type="text/javascript">
function myFun(){
alert("XXXXXXXXX");
}
</script>
我想调用 myFun 函数,但我在UI中收到Uncaught SyntaxError: Unexpected token ]
错误。当我按照stackoverflow解决方案时,我可以在javaScript函数中使用html
代替javascript
来删除错误。
我的问题是:
javascript
修改为html
更新
<report id="1000" name="Reports : Delivery Details" sql="FROM view_sms_status_report" group="Main"
where="SERVICE_USER_ID=$ServiceUserId"
filter_list="monthrangefilter_dt"
row_comment="0"
base="0" baseid="0" action_name="commonReport.do"
param_list="selectedId"
param_check_list="ServiceUserId" >
<column name="DUMMY" title="/" width="5" count="0" grouptotalall="0" hide="0" type="T" selected="1"
hide_allow="1" total_allow="0" group_allow="1" grouptotal_allow="0" count_allow="0" skip_for_sort="1">
<edit_link> <![CDATA[ <input type="checkbox" name="selectedId" value="$(HSS_PK)"> ]]> </edit_link>
</column>
<report-properties>
<property name="DUMMY" value="selectedId"/>
</report-properties>
<buttonlist>
<button buttontype="normal" name="submitAction" value="myFun"
className="" method="" id="myFun" style="font: bold 10px Arial"
onclick="javascript:myFun()"/>
</buttonlist>
<javascriptcode>
<![CDATA[
<script type="text/javascript">
function myFun() {
alert("XXXXXXXXXXXXX");
String[] selectedids = document.getElementById("selectedId");
alert("*******"+selectedids[0]+"*******");
}
</script>
]]>
</javascriptcode>
<column name="HSS_PK" title="SMS Id"
width="15"
count="0" grouptotalall="0"
hide="0" type="N" selected="1"
hide_allow="1" total_allow="0"
group_allow="1" grouptotal_allow="0"
count_allow="0" />
<column name="DELIVERY_TIME" title="Delivery time"
width="8"
count="0" grouptotalall="0"
hide="0" type="D" selected="1"
hide_allow="1" total_allow="0"
group_allow="1" grouptotal_allow="0"
count_allow="0" decorator="SimpleDateTimeDecorator" />
<column name="DELIVERY_STATUS" title="Delivery status"
width="8"
count="0" grouptotalall="0"
hide="0" type="T" selected="1"
hide_allow="1" total_allow="0"
group_allow="1" grouptotal_allow="0"
count_allow="0" />
<orderby columnlist="HSS_PK DESC" />
<groupby columnlist="" />
<sumquery columnlist="" />
</report>
整个内容在xml文件中,实际上在文件内部就像这样
答案 0 :(得分:0)
首先,您必须为按钮编写正确的html
<button buttontype="normal" name="submitAction" className="" method="" id="myFun" onclick="javascript:myFun1()">my fun</button>
然后将你的函数名从myFun()编辑到myFun1(),因为myFun是你按钮的id,所以它给出了错误。
<script type="text/javascript">
function myFun1(){
alert("XXXXXXXXX");
}
</script>
通过更改功能名称,它将正常工作。您正在使用与函数的按钮ID相同的名称,这就是它给出错误的原因。如果有效,你可以接受答案。
答案 1 :(得分:0)
问题出在您的Javascript中,您尝试定义String[]
类型的对象,该对象不是有效的Javascript类型。 Javascript不是Java。
function myFun() {
alert("XXXXXXXXXXXXX");
String[] selectedids = document.getElementById("selectedId");
alert("*******"+selectedids[0]+"*******");
}
</script>
此外,getElementById
函数不会返回数组,因此您无法在其返回值上使用索引[0]
。
解决方案:将String[]
替换为var
,将selectedids[0]
替换为selectedids
。
function myFun() {
alert("XXXXXXXXXXXXX");
var selectedids = document.getElementById("selectedId");
alert("*******"+selectedids+"*******");
}
</script>
我不确定这是否符合您的要求:它使用文字ID&#34; selectedId&#34;检索元素。您是否尝试检索用户点击的内容?
答案 2 :(得分:-1)
我不确定你的意思是“从javascript修改为html”,但我可以尝试帮助你打印警报信息。 <button>
不是自闭标签。它看起来应该更像
<button buttontype="normal" name="submitAction" className=""
method="" id="myFun" onclick="javascript:myFun()">myFun</button>
此外,请确保在任何代码将其绑定到事件之前声明您的javascript函数。通常它放在html <head>
标记中以完成此操作。
接下来,CDATA应直接放在<script
<script type="text/javascript">
<![CDATA[
function myFun(){
alert("XXXXXXXXXXXX");
}
]]>
</script>
以便验证器不会将<script
中的内容解析为xhtml。