IBM Mobilefirst - 无法调用适配器调用'onSuccess'或'onFailure'



我有一个适配器可以检索 JSON 对象,但奇怪的是,如果表单仅使用按钮,一切正常,但如果我输入<input type="text">那么WL.Client.invokeProcedure的回调("onSuccess"或"onFailure")或不调用...

适配器代码:

 intranetId="my-email-address";
 var invocationData = {
     adapter : 'RoleAdapter',
     procedure : 'getRoles',
     parameters : [intranetId,"role"]
};
WL.Client.invokeProcedure(invocationData, {
      onSuccess : function(res){ console.log('win', res); },
      onFailure : function(res){ console.log('fail', res); }

网页表单:

<div id="welcome">
<form action="#welcome2" onsubmit="getRole()">
<input type="text" id="userId">
<br/>
<input type="password" name = "password">
<br/>
<input type="submit" value="Login">
</form>
</div>

我能够获得userId的值,即使我在同样的问题中硬编码getRole()......

编辑:关于将 html 表单更改为此

表单
<div id="welcome">
<form action="#welcome2" onsubmit="return getRole()">
<input type="submit" value="go">
</form>
</div>

我尝试调试,但没有得到任何东西。

编辑2:我修好了!所以基本上,在 html 表单中,当您与 worklight 一起使用时,您不能将"name"属性添加到输入元素。不知道为什么会这样..

这对

我有用...
完整示例如下: https://stackoverflow.com/a/17852974/1530814

索引.html

<form onsubmit="submitName()">
    First name: <input type="text" id="firstname"/><br>
    Last name: <input type="text" id="lastname"/><br>
    <input type="submit" value="Submit Name"/>
</form>

主.js

function wlCommonInit(){
}
function submitName() {
    var invocationData = {
            adapter : 'exampleAdapter',
            procedure : "showParameters",
            parameters : [$('#firstname').val(),$('#lastname').val()]
    };
    var options = {
            onSuccess : success,
            onFailure : failure
    };
    WL.Client.invokeProcedure(invocationData, options);
}

function success() {
    alert ("success");
}
function failure(res) {
    alert ("failure");
}

最新更新