首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript innerHTML在asp.net web表单中不起作用

javascript innerHTML在asp.net web表单中不起作用
EN

Stack Overflow用户
提问于 2018-06-24 00:09:39
回答 3查看 573关注 0票数 0

以下是asp.net web表单:

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
    <h2 id="first">Enter 1st Number<input type="text"  /></h2>
     <h2 id ="second">Enter 2nd Number<input type="text"  /></h2>
     <h2 id="third">Enter 3rd Number<input type="text"  /></h2>
    <button onclick="test()">Sublit</button>


</div>

    <p id="sum"></p>
</form>
<script src="JavaScript.js"></script>

这是javascript文件:

代码语言:javascript
复制
function test()
{
    var num1 = parseInt(document.getElementById("first").value)
    var num2 = parseInt(document.getElementById("second").value)
    var num3 = parseInt(document.getElementById("third").value)

    var z = num1 + num2 + num3
    document.getElementById("sum").innerHTML = z
}

当我按下submit按钮时,页面上没有显示sum of three no。它只显示NAN一次,然后就消失了。我开始学习.net。请帮帮我

EN

回答 3

Stack Overflow用户

发布于 2018-06-24 00:15:02

您将id添加到h标记中,但是您需要将id属性添加到输入元素中,以便使用document.getElementById获取它的值。

另外按钮的默认类型是submit,你需要阻止默认行为或者改变button type='button'

代码语言:javascript
复制
function test(e) {
  e.preventDefault()
  var num1 = parseInt(document.getElementById("first").value)
  var num2 = parseInt(document.getElementById("second").value)
  var num3 = parseInt(document.getElementById("third").value)

  var z = num1 + num2 + num3
  document.getElementById("sum").innerHTML = z
}
代码语言:javascript
复制
<form id="form1" runat="server">
  <div>
    <h2>Enter 1st Number<input id="first" type="text" /></h2>
    <h2>Enter 2nd Number<input id="second" type="text" /></h2>
    <h2>Enter 3rd Number<input id="third" type="text" /></h2>
    <button onclick="test(event)">Sublit</button>


  </div>

  <p id="sum"></p>
</form>

票数 0
EN

Stack Overflow用户

发布于 2018-06-24 00:15:22

代码语言:javascript
复制
function test() {
    var num1 = parseInt(document.getElementById("first").value)
    var num2 = parseInt(document.getElementById("second").value)
    var num3 = parseInt(document.getElementById("third").value)

    var z = num1 + num2 + num3
    document.getElementById("sum").innerHTML = z
}
代码语言:javascript
复制
<form id="form1" runat="server">
   <div>
      <h2 >Enter 1st Number<input type="text" id="first" /></h2>
      <h2 >Enter 2nd Number<input type="text" id ="second"  /></h2>
      <h2 >Enter 3rd Number<input type="text" id="third"  /></h2>
      <button onclick="test()">Sublit</button>
   </div>
<p id="sum"></p>
</form>

您需要将id提供给inputs,而不是<h2>元素将解决此问题

票数 0
EN

Stack Overflow用户

发布于 2018-06-24 00:24:34

首先,您需要在input中设置id,而不是在h2标记中。

代码语言:javascript
复制
 <h2 >Enter 1st Number<input type="text"  id="first" /></h2>
 <h2 >Enter 2nd Number<input type="text" id ="second" /></h2>
 <h2 >Enter 3rd Number<input type="text"  id="third"/></h2>

对于消失的问题,使用输入类型的按钮而不是按钮标签来防止重新加载。

代码语言:javascript
复制
 <input type="button" value="Submit" onclick="test()">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51002895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档