无法拨打on onccess'或者' onFailure'适配器调用

时间:2015-06-11 19:23:15

标签: ibm-mobilefirst worklight-adapters

我有一个检索JSON对象的适配器,但奇怪的是,如果表单只使用按钮,但是如果我放<input type="text">然后WL.Client.invokeProcedure的回调(&#39),一切正常; onSuccess&#39;或'onFailure&#39;)或未调用...

适配器代码:

 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); }

HTML表单:

<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>

我尝试过调试,但是cudnt得到了任何东西。

EDIT2: 我修好了它! 所以基本上,在html表单中你不能添加&#39; name&#39;使用worklight时输入元素的属性。不知道为什么会这样......

1 个答案:

答案 0 :(得分:1)

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

<强>的index.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>

<强> main.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");
}