0

我设计的计算器中有一个烦人的错误。出于某种原因,当单击按钮时,Chrome 会显示“Unexpected token }”。这是没有意义的。我相信通过暂时删除 JavaScript 和 CSS 以及 onclick 事件(以确保没有未定义的 JavaScript 函数),我已将问题缩小到 HTMl,这是完美的。此外,+、*、= 和 - 按钮工作正常,所以它必须是 onclick 事件。怎么了?

PS:计算器显然功能不全。这只是一个开始。

<head>
    <style>
      button{
        background-color: #4D4447;
        border: 2px solid #191842;
        color: #BABACC;
      }
      button:hover{
        background-color: #6F6DC2;
        color: #FDFCFF;
      }
    </style>    
    <script>
    var num = ""
      function tonumber (val){
          num=num+val
        document.getElementById("answer").innerHTML=num
      }
    </script>
</head>
<body>
      <table id="calc">
      <caption id="answer">0</caption>
      <tr>
      <td><button onclick="tonumber("1")">1</button></td>
      <td><button onclick="tonumber("2")">2</button></td>
      <td><button onclick="tonumber("3")">3</button></td>
      </tr>
      This goes on with 4,5,6,7,8 and 9. Same code, just with different numbers.
      <tr>
      <td><button onclick="tonumber("0")">0</button></td>
       <td><button>+</button></td>
       <td><button>-</button></td>
       </tr>
       <tr>
        <td><button>*</button></td>
       <td><button>/</button></td>
       <td><button>=</button></td>
       </tr>
       </table>

</body>
4

2 回答 2

3

问题是您的引号没有正确换行以完成将函数注册为onclick. 因此,您会收到 JS 错误。

试试这个:注意函数参数前后的单引号tonumber

   <td><button onclick="tonumber('1')">1</button></td>
  <td><button onclick="tonumber('2')">2</button></td>
  <td><button onclick="tonumber('3')">3</button></td>

演示

<button onclick="tonumber("1")">1</button>
                           ^---------------------------------
于 2013-06-05T20:55:35.310 回答
-1
Ext.define('MyCalculaterApp.view.Main', {
    extend: 'Ext.Panel',
    xtype: 'main',
    requires: [
    'Ext.TitleBar',
    'Ext.field.Text'
    ],
    config: {
        right: '40%',
        left: '40%',
        top: '20%',
        bottom: '20%',
        margin:'10px',
        padding:'10px',
        defaults: {
            flex:'1'           
        },   
        items: [
        {
            xtype:'fieldset',
            title:'...Calculater...',
            flex:'1',
            instructions:'screen touch calculater'
        },
        {            
            xtype: 'textfield',
            id: 'screen',    
            name: 'screen',
            style:'font-size:20px;',
            height: '15%'
        },
        {
            layout: 'hbox',
            defaults:{
                flex:'1',
                margin:'5px'
            },
            items: [
            {
                xtype: 'button',
                text: '1',
                name: 'one'
            },
            {
                xtype: 'button',
                text: '2',
                name: 'two'
            },
            {
                xtype: 'button',
                text: '3',
                name: 'three'
            }
            ]
        },
        {
            layout: 'hbox',
            defaults:{
                flex:'1',
                margin:'5px'
            },
            items: [
            {
                xtype: 'button',
                text: '4',
                name: 'four'
            },
            {
                xtype: 'button',
                text: '5',
                name: 'five'
            },
            {
                xtype: 'button',
                text: '6',
                name: 'six'
            }
            ]
        },
        {
            layout: 'hbox',
            defaults:{
                flex:'1'  ,
                margin:'5px'
            },
            items: [
            {
                xtype: 'button',
                text: '7',
                name: 'seven'
            },
            {
                xtype: 'button',
                text: '8',
                name: 'eight'
            },
            {
                xtype: 'button',
                text: '9',
                name: 'nine'
            }
            ]
        },
        {
            layout: 'hbox',
            defaults:{
                flex:'1'  ,
                margin:'5px'
            },
            items: [
            {
                xtype: 'button',
                text: '0',
                name: 'zero'
            },
            {
                xtype: 'button',
                text: '+',
                name: 'add'
            },
            {
                xtype: 'button',
                text: '-',
                name: 'sub'
            }
            ]
        },
        {
            layout: 'hbox', 
            defaults:{
                flex:'1'  ,
                margin:'5px'
            },
            items: [
            {
                xtype: 'button',
                text: '*',
                name: 'mul'
            },
            {
                xtype: 'button',
                text: '/',
                name: 'div'
            },
            {
                xtype: 'button',
                text: '=',
                name: 'equal'
            },
            ]
        }
        ]
    }
});
于 2013-06-05T20:57:58.487 回答