如何将html表单链接到javascript中的函数?

时间:2013-11-09 20:35:10

标签: javascript html forms function

我必须使用Celsius(C)和Fahrenheit(F)进行计算,我认为表单操作行是错误的,有人可以帮助我吗?

这是我的HTML:

<form action="javascript.html">
    Convert Celsius to Fahrenheit:<br>
    <input type="text" name="converterCtoF"><br>
    <input type="submit" value="Submit">
</form>

这是我的JavaScript:

function tempertureConverter(C){
    return(9/5)*C+32;
    }

另一种方式呢?将F转换为C

4 个答案:

答案 0 :(得分:2)

这是jfiddle你的想法吗?它侦听表单提交并从摄氏度文本字段计算Farenheit。这一切都在一页上。

HTML:

<form name="temperature_form" action="">
    Convert Celsius to Fahrenheit:<br>
    <input type="text" name="converterCtoF" id="converterCtoF"><br>
    <input type="submit" value="Submit">
</form>

JAVASCRIPT:

document.forms["temperature_form"].onsubmit = function(){
    var c = document.getElementById("converterCtoF").value;
    var f = (9/5)*c+32;
    alert(f);
    return false;
}

答案 1 :(得分:0)

我认为您希望将表单操作设置为PHP脚本,而不是JS脚本。

编辑:

<form action="celsius.php" method="get">
    Convert Celsius to Fahrenheit:<br>
    <input type="text" name="converterCtoF"><br>
    <input type="submit" value="Submit">
</form>

然后在celsius.php中,您可以通过$ _GET ['converterCtoF']

访问文本字段值

答案 2 :(得分:0)

您应该使用表单发布到不同的文件,但由于您没有为要发布的页面指定标记,因此这是一个在当前页面上显示华氏度的解决方案。

<script>
    function tempertureConverter(){
        var C = document.getElementById("degree").value;
        alert((9/5)*C+32);
    }
</script>

<form>
    Convert Celsius to Fahrenheit:<br>
    <input type="text" name="converterCtoF" id = "degree"><br>
    <input type="button" value="Submit" id = "submit" 
     onClick = "tempertureConverter()">
</form>

以上获取用户输入的摄氏度值并在其上运行转换功能。然后,结果将显示为浏览器中的弹出窗口。

工作示例here

答案 3 :(得分:0)

你不会改变php脚本。你需要创建一个。在上面这个例子中......

<form action="celsius.php" method="get">
  Convert Celsius to Fahrenheit:<br>
  <input type="text" name="converterCtoF"><br>
  <input type="submit" value="Submit">
</form>

你需要创建一个名为celcius.php的文件并添加类似于......的文件。

<?php
  $c = $_GET['converterCtoF'];
  $f = convertTemp(c);

  echo(f);

  function convertTemp(temp) {
    return (9/5)*C+32;
  }
?>