节点js能计算两个input字段的值并更新另一个字段吗?

我想使用nodejs计算两个input字段值的值并更新答案字段

<input type="text" name="number"> <input type="text" name="number"> <input type="text" name="answer"> 

我已经看到它与jQuery完成,并想知道是否可以与nodejs相同?

基本的答案是否定的,而不是单独的。

Node.js在服务器端运行。 一个表单,就像你的例子一样,在客户端(浏览器)上运行。 你仍然需要运行一些其他的客户端JavaScript,至less将字段发回到节点服务器应用程序来计算它们。

你可能会寻找的是一个像客户端的AngularJS系统,可以提供更多的结构。

http://plnkr.co/edit/SZ8DJf?p=preview

这里是javascript:

 var app = angular.module('plunker', []); app.controller('MainCtrl', function($scope) { $scope.value1 = 'Hello'; $scope.value2 = 'World'; $scope.$watch('value1', updateValue3); $scope.$watch('value2', updateValue3); function updateValue3() { $scope.value3 = $scope.value1 + ' ' + $scope.value2; } }); 

这里是HTML:

  <head> <meta charset="utf-8" /> <title>AngularJS Plunker</title> <script>document.write('<base href="' + document.location + '" />');</script> <link rel="stylesheet" href="style.css" /> <script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.10/angular.js" data-semver="1.3.10"></script> <script src="app.js"></script> </head> <body ng-controller="MainCtrl"> <label for="">Value 1<input ng-model="value1"></label><br> <label for="">Value 2<input ng-model="value2"></label><br> <label for="">Value 3<input ng-model="value3"></label><br> You don't need an input to show the value, either: {{value3}} </body> </html> 

如果你真的想要在服务器端完成,使用node.js,那么你将不得不创build一个单独的节点应用程序,公开某种REST接口/ API,并使用客户端JavaScript进行HTTP调用节点应用程序计算答案。 这远远不止是有人能够在Plunk中演示。

虽然如果你对这样的东西感兴趣的话,你可以使用Yeoman来搭build一些基本的多层应用程序作为起点。 因为我喜欢使用AngularJS,我经常使用AngularFullstack 。

AngularFullstack将为您提供创build与节点服务器端应用程序接口的客户端应用程序的基础知识,并帮助您创build将定义您将使用的REST接口的路由,以及如何让客户端应用程序访问资源服务器端的节点部分。