onclick不存储变量

时间:2016-08-31 08:18:38

标签: javascript jquery click

我试图将输入字段的值存储到变量中。但它似乎不起作用。我究竟做错了什么?我知道还有其他方法,我可能会在以后改变它。但是现在我真的很好奇为什么这不起作用:

http://codepen.io/ttimon/pen/PGYapa

<div id="searchInput" class="form-group">
  <input type="text" class="form-control" id="usr" placeholder="Type your search term here...">
  </div>
  <button id="search" class="button" onclick="searchWiki();">Search</button>

</div>



$( document ).ready(function() {
    function searchWiki() {
      var search = document.getElementbyId("usr").value;
      alert(search);
} 

});

感谢您的帮助

4 个答案:

答案 0 :(得分:2)

searchWiki onclick可以从searchWiki调用它,它需要在全球范围内。

document.ready

之外声明$( document ).ready(function() { }); function searchWiki() { var search = document.getElementById("usr").value; alert(search); }
       CREATE OR REPLACE FUNCTION get_all_rezultz() RETURNS SETOF rezultz AS
    $BODY$
  DECLARE
r rezultz%rowtype;
   BEGIN
FOR r IN
    SELECT * FROM rezultz 
LOOP
    -- can do some processing here
    RETURN QUERY EXECUTE r; -- return current row of SELECT
END LOOP;
RETURN;
 END
  $BODY$
 LANGUAGE plpgsql;

  SELECT * FROM get_all_rezultz();

答案 1 :(得分:1)

您必须收到错误,因为searchWiki函数不在范围内。将其移出document.ready函数...

function searchWiki() {
      var search = document.getElementbyId("usr").value;
      alert(search);
} 

$( document ).ready(function() {


});

答案 2 :(得分:1)

首先,停止在HTML中使用Javascript。通常认为遵循Unobtrusive Javascript将Javascript和HTML分开并且不将Javascript插入HTML中,而是使用Javascript在初始化时运行以“连接”到HTML。 p>

您现有的代码出错了,因为插入HTML中的函数名必须存在于全局范围内,但您的searchWiki()函数不在全局范围内 - 它位于.ready()处理函数内部,因此全局范围内不存在符号searchWiki

然后,由于你已经有了jQuery,你可以用jQuery挂钩click处理程序。

HTML:

<div id="searchInput" class="form-group">
  <input type="text" class="form-control" id="usr" placeholder="Type your search term here...">
  </div>
  <button id="search" class="button">Search</button>
</div>

使用Javascript:

$(document).ready(function() {
    $("#search").click(function() {
        var search = $("#usr").val();
        alert(search);
    });
});

答案 3 :(得分:0)

<head>
<script src="prepare.js"></script>
</head>

<body>
    <div id="searchInput" class="form-group">
      <input type="text" class="form-control" id="usr" placeholder="...">
    </div>
    <button id="search" class="button">Search</button>

    <script src="pageready.js"></script>
</body>