2011-01-09 44 views
1
<form> 
    <input type="text" id="inputbox" value="hello"/> 
    <input type="submit" value="Convert" onClick="convert(document.getElementById("inputbox"))"/> 
</form> 
<script type="text/javascript"> 
function convert (text) { 

    alert(text); 
    return text; 
</script> 

当我将警报更改为document.write时,这也不起作用。我显然有更多的HTML来配合这一点。为什么下面的Javascript /表单不工作?

谢谢!

回答

2

对我来说最明显的是你嵌套双引号。尝试在那里使用单引号。

onClick属性也应该全部小写。

我也认为你设置它的方式可以改进。见下面...

<form id="my-form"> 
    <input type="text" id="inputbox" value="hello"/> 
    <input type="submit" value="Convert" /> 
</form> 

<script type="text/javascript"> 

document.getElementById('my-form').onsubmit = function() { 
    document.getElementById('my-form').value = 'whatever'; 
} 


</script> 

你也没有关闭function与其结束大括号。

4

在浏览器中检查JavaScript错误控制台是个好主意。我看到两个错误:convert没有其结尾大括号,并且您的双引号嵌套。

+2

答对了!所有浏览器都有错误控制台。 FF在顶部菜单>工具>错误控制台上有一个。它通常会告诉你什么是错的,以及它在哪一行。如果你想深入一点,试试一个名为Firebug的插件来调试你的js。 – 2011-01-09 05:50:15

0
  1. 报价
  2. 您需要的文本中的文本,而不是框本身

    的onClick = “转化(的document.getElementById( '输入框')。值)”

+0

而且,在Hippo中,转换函数中缺失的大括号在他的回答中 – 2011-01-09 05:49:32