2012-08-14 45 views
0

我有我的HTML结构按以下格式JavaScript的形状误差

<div> 
<form class="form-inline" style="padding-top:10px" action="javascript:function()"> <!-- a search bar--> 
    <input id="id" type="text" " placeholder="Something"> 
    </form> 

<button onClick="somefunction()"> b</button> 
</div> 

问题是我想要的搜索栏,当我按下它进入工作,但不幸的是它被提交按钮元素,我稍困惑,因为按钮不是一个表单元素,我已经明确定义了onClick。我是新来的JavaScript,所以我相信它是一个小的东西,但我一直无法解决它。

即当我按下回车,“somefunction()”获得主动,而不是“功能()”

+0

你是什么意思“它提交按钮元素?” – 2012-08-14 21:44:23

+0

为什么表单动作值是“javascript:function()”? – 2012-08-14 21:46:31

+0

也有胭脂“中度型=”文本“在未关闭输入标签 – 2012-08-14 21:47:38

回答

0

你可以把你的按钮形式的内部和onClick回报已调用的函数假的,因为讨论here

编辑

根据您的编辑和您的意见对你想要什么,你可以做到以下几点:

<html> 
<head> 
    <script> 
     function formfunction(){ 
      alert("form function is called."); 
     } 
     function somefunction(){ 
      alert("the button is clicked."); 
     } 
    </script> 
</head> 
<body> 
<div> 
<form name="myform" action="#" onsubmit="formfunction(); return false;"> 
    <input id="id" type="text" placeholder="Something"> 
</form> 
<button type="button" onClick="somefunction()"> b</button> 
</form> 
</div> 
</body> 
</html> 
+0

谢谢您的回答‘占位符=’东西”,但这并没有工作 – alex 2012-08-14 21:59:32

+0

我没有得到你想要的东西。我编辑了我的答案,看看它是否能解决您的问题。 – 2012-08-15 01:17:22

0

试试这个

HTML

<div> 
    <form class="form-inline" style="padding-top:10px" action="someFile.php" onsubmit="return someFunc();"> 
     <input id="id" type="text" placeholder="Something"> 
     <input type="submit" name="btn_submit" value="Submit" /> 
    </form> 
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

JS

function someFunc(){ 
    // code goes here 
    return false; 
} 

Just an example

+0

谢谢,但该按钮状态只是弹出了!没有工作 – alex 2012-08-14 22:08:37

+0

好吧,我想你想执行'sumeFunc'按下按钮,这答案是所有关于那个。你检查过这个例子吗? – 2012-08-14 22:12:56

+0

我没有,但也许我还是有点困惑,在按钮上点击我要执行其他功能和回报,我想执行与表单元素链接功能 – alex 2012-08-14 22:24:00