为什么不会我的 JavaScript 工作在 ASP.net web 窗体?

发布时间: 2017/3/26 5:11:22
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

没有的存在作为一个 HTML 页面中运行的代码。现在,web 窗体,该转换器根本没有什么。正在迁移它到 web 窗体页从 HTML 使用母版页和主题。

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
 <script lang="javascript" type="text/javascript">
    //Convert Logic
    function CelsiusConvert() {
        document.converter.fahrenheit.value = (document.converter.celsius.value * 9 / 5) + 32
        document.converter.kelvin.value = document.converter.celsius.value * 1 + 273.15
    }
    function FahrenheitConvert() {
        document.converter.celsius.value = (document.converter.fahrenheit.value - 32) * 5 / 9
        document.converter.kelvin.value = ((document.converter.fahrenheit.value - 32) * 5 / 9) + 273.15
    }
    function KelvinConvert() {
        document.converter.celsius.value = document.converter.kelvin.value - 273.15
        document.converter.fahrenheit.value =   ((document.converter.kelvin.value - 273.15) * 9 / 5) + 32
    }
 </script>
</asp:Content>

 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
   <form name="converter">
       <!--Input Fields-->
       Celsius:
        <input type="text" name="celsius" onchange="CelsiusConvert()"/><br />
       Fahrenheit:
        <input type="text" name="fahrenheit" onchange="FahrenheitConvert()"/><br />
       Kelvin:
        <input type="text" name="kelvin" onchange="KelvinConvert()"/><br />
       <!--Convert Button-->
        <input type="button" value="Convert!" />
   </form>
   </asp:Content>

解决方法 1:

Webforms 储备 <form> 标记,它可以管理的回发和带回的信息。

一开始你不应该使用 <form> 标记,你可以把它们松散页中。

要针对他们你应该给他们 id 的和使用 document.getElementById 来访问它们 (或使用 jQuery)。

顺便说句,我不认为这种访问形式方法要么是跨浏览器兼容不过也没关系与 WebForms 因为你无论如何要删除它。

所以这样的事情︰

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
 <script lang="javascript" type="text/javascript">
    //Convert Logic
    function CelsiusConvert() {
        document.getElementById("fahrenheit").value = (document.getElementById("celsius").value * 9 / 5) + 32
        document.getElementById("kelvin").value = document.getElementById("celsius").value * 1 + 273.15
    }
    function FahrenheitConvert() {
        document.getElementById("celsius").value = (document.getElementById("fahrenheit").value - 32) * 5 / 9
        document.getElementById("kelvin").value = ((document.getElementById("fahrenheit").value - 32) * 5 / 9) + 273.15
    }
    function KelvinConvert() {
        document.getElementById("celsius").value = document.getElementById("kelvin").value - 273.15
        document.getElementById("fahrenheit").value =   ((document.getElementById("kelvin").value - 273.15) * 9 / 5) + 32
    }
 </script>
</asp:Content>

 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
   <div>
       <!--Input Fields-->
       Celsius:
        <input type="text" name="celsius" id="celsius" onchange="CelsiusConvert()"/><br />
       Fahrenheit:
        <input type="text" name="fahrenheit" id="fahrenheit" onchange="FahrenheitConvert()"/><br />
       Kelvin:
        <input type="text" name="kelvin" id="kelvin" onchange="KelvinConvert()"/><br />
       <!--Convert Button-->
        <input type="button" value="Convert!" />
   </div>
   </asp:Content>

我不说这是很好的 JavaScript 代码,但如果你只是想要这个工作,所以您可以继续从它应该做的伎俩的学习。

官方微信
官方QQ群
31647020