日期:2014-05-17  浏览次数:20801 次

'null' 为空或不是对象?
这是有关的代码,但是左下角总是有小黄感叹号,提示'null'为空或不是对象,请高手帮帮忙,小弟初学这块
<script language="javascript">
function gocheck(){
  if(form1.radiobutton[0].checked){
  window.open("http://www.baidu.com/s?wd="+form1.key.value); 
  }else{
  window.open("http://www.google.com/search?h1=zh-CH&q="+form1.key.value);
  }  
  } 
</script>


<td align="left"><strong>站外搜索</strong></td>
  </tr>
  </table>
  <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
  <td width="80" height="40" align="right">关键字:</td>
  <td align="left"><input name="key" type="text" class="textbox_css" size="30" value="${key }"/>
  <input name="button22" type="submit" class="button_css" id="button22" value="查 询" onclick="javascript:gocheck()"/>
  <input name="radiobutton" type="radio" id="radio" value="1" />百度
  <input name="radiobutton" type="radio" id="radio2" checked value="2" />google
  </td>
  </tr>
  </form>
  </table>

------解决方案--------------------
javascript中的错误。
在ie中查看源文件,找出出错的行。
------解决方案--------------------
试了下,把<form name="form1" >加上之后,的确百度没事,而GOOGLE的提示有问题,但不影响出现搜索结果。

之后,单独在IE里打开GOOGLE,还没任何输入,就出现了黄色问号了。平时都用别的浏览器,没注意过这个现象。

所以这个应该是GOOGLE网页里某些代码在IE里出现问题,和你无关。
------解决方案--------------------
if(form1.radiobutton[0].checked){ 有问题
你在这一行的上面打alert(form1) 看是啥? 如果是「object」再打alert(form1.radiobutton[0])
以此类推如果不是「object」就错了,null。能。出来啥?