2014-09-04 57 views
0

你好:我想基本上有一个容器;然后有基本上发送一个JavaScript函数在容器中运行的按钮;所以我可以有不同的按钮发送相同的功能,使用不同的参数容器...需要帮助发送函数带参数到容器

如此 - 每一个按钮被击中的容器时被掏空了,新的结果将会显示...

我发现了一些代码那为“文本”做了这个;但当我试图发送带参数的功能它没有工作...

我开始学习JS,并不确定它会采取什么措施来做到这一点,我相信它可以做到这一点或另一种...这里是我的代码:

<p id="id57512">How are you?</p> 
<button id="b1">Answer</button> 
<button id="b2">Question</button> 
<button id="b3">Gman Info new</button> 
<button id="b4">Run function</button> 

<script> 
function f1() {document.getElementById("id57512").firstChild.nodeValue="Fine, thank  you.";} 
function f2() {document.getElementById("id57512").firstChild.nodeValue="How are you?";} 
function f3() {document.getElementById("id57512").firstChild.nodeValue="Gman needs a job.";} 
function f4() {document.getElementById("id57512").firstChild.nodeValue="gman_code1(23);";} 

var gman_code1 = function(number) { 
var result1 = number*2; 
console.log(result1); 
} 

//define the behavior 
document.getElementById("b1").addEventListener("click", f1 , false); 
document.getElementById("b2").addEventListener("click", f2 , false); 
document.getElementById("b3").addEventListener("click", f3 , false); 
document.getElementById("b4").addEventListener("click", f4 , false); 
</script> 
  1. 容器是“p”标签...
  2. 前三个按钮只是做普通的文本
  3. 第四个按钮就是我试图用参数
  4. 发送功能
  5. f4函数是我试图发送函数的地方;并且它不工作...

有什么我失踪或做错了将解决这个问题吗?或者这是不可行的,需要以其他方式完成?

我希望有人能够帮助这...

感谢这么多...

回答

0
function f4() {document.getElementById("id57512").firstChild.nodeValue=gman_code1(23); 
    //caling gman_code1 and assigning result to p#id57512  
    } 


    var gman_code1 = function(number) { 
    var result1 = number*2; 
    console.log(result1); 
    return result1;//add return statement 
} 

继承人http://jsfiddle.net/vikrant47/d0ms9uw5/5/

+0

感谢这么多充满活力,运作良好... – 2014-09-04 07:38:45

0

这是行不通的跨浏览器的演示,通常操作DOM元素是使用jQuery完成。代码看起来是这样的:

// Shorthand for $(document).ready() 
// http://learn.jquery.com/using-jquery-core/document-ready/ 
$(function() { 
    //add click event 
    $('#b1').click(
     function (event){ 
      $("#id57512").Val("Fine, thank you."); 
      //or call f1(); 
     } 
    ); 
    function f1() { 
     $("#id57512").Val("Fine, thank you."); 
    } 
}); 

演示:http://jsfiddle.net/margusmartsepp/d0ms9uw5/6/

+0

感谢这么多Margus,我vikrants代码工作,但如果我可以,我会看到让你的工作以及... – 2014-09-04 07:39:24

+0

你需要添加:“”如果你没有注意到。 – Margus 2014-09-04 07:43:53