1

我在 worklight 6.0.0 和 dojo 1.9 中有和应用程序,当我添加回调函数并转换到此视图时,我收到此错误:

dojo/parser::parse() error at file:///data/data/com.WorklightApp/files/www/default/layers/core-web-layer.js:56

<div data-dojo-type="dojox.mobile.View" id="view_MainPage"
data-dojo-props="callback:inicializarMainPage()">
<ul data-dojo-type="dojox.mobile.Heading">

    <button data-dojo-type="dojox.mobile.ToolBarButton" src="images/persona.png"
        data-dojo-props="transition:'zoomIn',dir:'1',url:'pages/datosPersona.html'">Persona</button>
    <button data-dojo-type="dojox.mobile.ToolBarButton"
        style="text-align: center" data-dojo-props="arrow:'right'"
        onclick="validarDatosAuto();" type="button">Siguiente</button>
</ul>
<div>
    <p id="mensaje_error_main_page"
        style="font-weight: bold; text-align: center; vertical-align: middle; font-style: italic"></p>
    <hr />
    <ul data-dojo-type="dojox.mobile.RoundRectList">



        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"><label
            for="policy">Marca:</label>
            <div id="marca" style="float: right">

                <select id="marcaSelect"  onchange="cargarComboBox('marca');">
                    <option value="" selected>Seleccionar</option>
                    <option value="Chevrolet">Chevrolet</option>
                    <option value="Ford">Ford</option>
                </select>
            </div></li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"
            id="modeloLi" hidden="true"><label for="policy">Modelo:</label>
            <div id="modelo" style="float: right">
                <select id="modeloSelect" onchange="cargarComboBoxVersion()">
                    <option value="" selected>Seleccionar</option>

                </select>
            </div></li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"
            hidden="true" id="versionLi"><label for="policy">Version:</label>
            <div id="version" style="float: right">
                <select id="versionSelect"
                    onchange="removerOpcionDeUnSelect('versionSelect')">
                    <option value="" selected>Seleccionar</option>

                </select>
            </div></li>

        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"><label
            for="policy">0 KM:</label>
            <input id="ceroKMCheckBox" data-dojo-type="dojox.mobile.CheckBox" type="checkbox">
        </li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"><label
            for="policy">A&ntilde;o:</label>
            <div id="anio" style="float: right">
                <select id="anioSelect">
                    <option value="2013">2013</option>
                    <option value="2012">2012</option>
                    <option value="2011">2011</option>
                </select>
            </div></li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"><label
            for="policy">GNC</label> <input id="gncCheckBox"
            data-dojo-type="dojox.mobile.CheckBox" type="checkbox"></li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"><label
            for="policy">Provincia:</label>
            <div id="provincia" style="float: right">
                <select id="provinciaSelect" onclick="" autofocus="autofocus"
                    onchange="cargarComboBox('provincia');">
                    <option value="" selected>Seleccionar</option>
                    <option value="Cordoba">Cordoba</option>
                    <option value="buenosAires">Buenos Aires</option>
                    <option value="santaFe">Santa Fe</option>
                    <option value="sanLuis">San Luis</option>
                    <option value="mendoza">Mendoza</option>
                    <option value="capitalFederal">Capital Federal</option>
                </select>
            </div></li>
        <li data-dojo-type="dojox.mobile.ListItem" class="mblVariableHeight"
            id="localidadLi" hidden="true"><label for="policy">Localidad:</label>
            <div id="localidad" style="float: right">
                <select id="localidadSelect"
                    onchange="removerOpcionDeUnSelect('localidadSelect')">
                    <option value="" selected>Seleccionar</option>
                </select>
            </div></li>


    </ul>
</div>

我有什么遗漏或做错了吗?

4

3 回答 3

0

其他一些项目遇到了完全相同的错误,因为它们的应用程序主体上有 display:none。可见性:应该使用隐藏。这解决了他们的问题。

于 2013-08-19T09:01:21.030 回答
0
  • dojox/mobile/View 上没有“回调”属性。正如您在文档中所读到的,该属性确实存在于 dojox/mobile/_ItemBase 及其子类中,例如 dojox/mobile/ListItem。
  • 使用您的代码,恰好执行了 inicializarMainPage(),因为您在 View 的 data-dojo-props 属性中的“回调”值中使用了 ()。解析器评估您的“回调:initializarMainPage()”的右侧,这将执行您的函数。如果你用其他任何东西替换“回调”,它仍然会被调用......
  • 正如大卫所建议的那样,“()”后缀不正确,应该删除,这适用于“回调”属性(应该移动到列表项)和 onclick="validarDatosAuto();" .
  • 修复这些问题,并确保正确需要 HTML 中使用的所有模块(至少需要 dojox/mobile 和 dojox/mobile/CheckBox),我在 Dojo 1.8.3 或 1.9 中都没有遇到任何解析错误。
于 2013-08-14T14:38:26.633 回答
0

最近更新到worklight6.2,遇到了和你一样的问题。但最后,幸运的是,我通过更改data-dojo-props所有 html 文件中的字段来解决这个问题。我发现worklight6.2只允许使用data-dojo-props双引号的值,在worklight6.2之前,我曾经使用单引号。

例如:data-dojo-props="transition:'zoomIn',dir:'1'"。所以,也许你的问题是关于这个道具的。仅供参考,多尝试。

于 2014-09-10T08:05:31.047 回答