Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “有什么办法吗?”;“实时”;web应用中的单元转换_Javascript_Php_Real Time_Unit Conversion - Fatal编程技术网

Javascript “有什么办法吗?”;“实时”;web应用中的单元转换

Javascript “有什么办法吗?”;“实时”;web应用中的单元转换,javascript,php,real-time,unit-conversion,Javascript,Php,Real Time,Unit Conversion,我想建立一个网站,允许用户将Hz转换为bpm(请注意,我的问题涉及所有类型的单位转换)。我正在使用PHP并在Apache上托管我的网站 因此,我想知道是否有可能将输入字段“绑定”到HTML元素,就像我们在WPF开发中所做的那样,您可以将输入区域绑定到WPF元素,并应用某种数据转换,因此如果用户键入12 bpm,绑定的元素将自动并立即显示0.2 Hz。如果用户随后添加“0”,则120 bpm将自动并立即转换为2 Hz 我试图描述的效果也可以在这个论坛上看到:当我输入我的问题时,我可以看到我文本的“

我想建立一个网站,允许用户将
Hz
转换为
bpm
(请注意,我的问题涉及所有类型的单位转换)。我正在使用PHP并在Apache上托管我的网站

因此,我想知道是否有可能将输入字段“绑定”到HTML元素,就像我们在WPF开发中所做的那样,您可以将输入区域绑定到WPF元素,并应用某种数据转换,因此如果用户键入
12 bpm
,绑定的元素将自动并立即显示
0.2 Hz
。如果用户随后添加“0”,则
120 bpm
将自动并立即转换为
2 Hz

我试图描述的效果也可以在这个论坛上看到:当我输入我的问题时,我可以看到我文本的“实时”最终版本


这是如何实现的?有什么方法可以用PHP实现吗?我知道AJAX,但我更愿意避免使用Javascript来保存我的数学函数。如果我错了,请纠正我,但我认为这可以通过Node.js实现吗?如果我考虑用DOM和JavaScript迁移到No.

< P>,您可以使用ON文本字段当其值作为用户行为的结果而改变时立即接收回调:

document.querySelector("selector-for-the-field").addEventListener("input", function() {
    // Code here to do and display conversion
}, false);
示例(摄氏度/摄氏度到华氏度):

var f=document.getElementById(“f”);
document.querySelector(“#c”).addEventListener(“输入”,函数(){
var值=+this.value;
如果(!isNaN(值)){
值=(值*9)/5+32;
f、 innerHTML=值;
}
},假)

输入摄氏度:
华氏温度:

我将为您提供一个实时“英寸到厘米”转换的示例

注意:要使这个示例起作用,您需要包括jQuery

HTML:

小提琴:

对于任何类型的转换,您都可以展开它

检查我更新的小提琴,包括Hz到bpm:


干杯,Theo

无需为此查询服务器端,您只需使用普通的普通客户端javascriptlook的
输入
事件进行计算并显示结果。很多“mvc”框架都可以让这变得很简单。谢谢,我不知道你可以用普通的老JavaScript来做这件事!
<div>
    <label>Inches</label>
    <input type="text" id="user_input" />
</div>
<div>
    <label>Centimeters</label>
    <input type="text" id="result" readonly />
</div>
$(document).ready(function(){
    $('#user_input').on('propertychange input keyup', function(){
        var thisVal = $(this).val();
        $('#result').val(thisVal * 2.54);
    });
});