Javascript 如何使用HTML按钮单击链接外部JS函数

Javascript 如何使用HTML按钮单击链接外部JS函数,javascript,android,html,cordova,onclick,Javascript,Android,Html,Cordova,Onclick,我刚刚参与了科尔多瓦项目。在我的HTML中有一个按钮,我想为它添加click事件。单击事件函数是在外部JS文件中编写的。但不幸的是,函数没有被调用。下面是我的HTML和JS文件。请帮帮我 index.html <html> <head> <meta charset="utf-8" /> <meta name="format-detection" content="telephone=no" /> <!-- WARNIN

我刚刚参与了科尔多瓦项目。在我的HTML中有一个按钮,我想为它添加click事件。单击事件函数是在外部JS文件中编写的。但不幸的是,函数没有被调用。下面是我的HTML和JS文件。请帮帮我

index.html

<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <meta name="msapplication-tap-highlight" content="no" />
    <title>Hello World</title>
</head>
<body>
<script type="text/javascript" src="cordova.js"></script>
  <script type="text/javascript" src="js/index.js"></script>
  <script type="text/javascript">
  app.initialize();
  </script>
    <div>
     <h1 id="login">Login</h1>
     <div class="label_edit">
       <div  type="label"; id = "username_lbl"  class="label">USERNAME
       <input type="text"; id = "username_edit" class="edit" />
       </div> 

     </div>
     <div class="label_edit">
       <div  type="label"; id = "password_lbl"  class="label">PASSWORD
       <input type="password"; id = "password_edit"  class="edit"/>
       </div> 
     </div>
     <br/>
     <input type="button" value="submit" id="login_submit" onclick="submitBtnFunc();"/>
    </div>

</body>

})

函数
submitBtnFunc
必须在var
app
初始化之外,或者必须声明为var
app
方法

在初始化之外:

var app = {

        ...
        receivedElement.setAttribute('style', 'display:block;');
        console.log('Received Event: ' + id);
    }
};
function submitBtnFunc(id)
{
    alert("user name is :");
    var username = document.getElementById("username_edit").value;
    alert(username);
}


函数
submitBtnFunc
必须在var
app
初始化之外,或者必须声明为var
app
方法

在初始化之外:

var app = {

        ...
        receivedElement.setAttribute('style', 'display:block;');
        console.log('Received Event: ' + id);
    }
};
function submitBtnFunc(id)
{
    alert("user name is :");
    var username = document.getElementById("username_edit").value;
    alert(username);
}


您可以在文本对象中声明函数,如下所示:

   var literalObject ={

        fun1 : function (){
          //here goes your implementation 
        },
        fun2 : function (){
          //here goes your implementation 
        },

    }
你打电话给我

     literalObject.fun1();
就你而言:

        var app ={
        ....
        ....
        ....
         , submitBtnFunc : function (id)
           {
         alert("user name is :");
         var username = document.getElementById("username_edit").value;
         alert(username);
          },
        ....
        ....
        ....
        }
然后将其绑定到按钮上的onclick事件,如下所示:

       <input type="button" value="submit" id="login_submit" onclick="app.submitBtnFunc('someId');"/>


欢迎;)

您可以在文本对象中声明函数,如下所示:

   var literalObject ={

        fun1 : function (){
          //here goes your implementation 
        },
        fun2 : function (){
          //here goes your implementation 
        },

    }
你打电话给我

     literalObject.fun1();
就你而言:

        var app ={
        ....
        ....
        ....
         , submitBtnFunc : function (id)
           {
         alert("user name is :");
         var username = document.getElementById("username_edit").value;
         alert(username);
          },
        ....
        ....
        ....
        }
然后将其绑定到按钮上的onclick事件,如下所示:

       <input type="button" value="submit" id="login_submit" onclick="app.submitBtnFunc('someId');"/>


欢迎;)

首先,您的函数声明是错误的。不能像那样声明成员函数

更改:

function submitBtnFunc(id)
{
  alert("user name is :");
  var username = document.getElementById("username_edit").value;
  alert(username);
}
致:

另外,我还没有使用Cordova,因此这里可能缺少一些内容,但是
submitBtnFunc
似乎在变量
app
中存储的对象中,因此您需要指定
app.submitBtnFunc
,并且您没有传递
id
参数的值

请尝试以下按钮:

 <input type="button" value="submit" id="login_submit" onclick="app.submitBtnFunc('idvalue');"/>

首先,您的函数声明是错误的。不能像那样声明成员函数

更改:

function submitBtnFunc(id)
{
  alert("user name is :");
  var username = document.getElementById("username_edit").value;
  alert(username);
}
致:

另外,我还没有使用Cordova,因此这里可能缺少一些内容,但是
submitBtnFunc
似乎在变量
app
中存储的对象中,因此您需要指定
app.submitBtnFunc
,并且您没有传递
id
参数的值

请尝试以下按钮:

 <input type="button" value="submit" id="login_submit" onclick="app.submitBtnFunc('idvalue');"/>


您以错误的方式声明函数submitBtnFunc您以错误的方式声明函数submitBtnFunc