2016-03-02 76 views
3

我正在尝试做一个喜欢/不喜欢的系统。所以基本上,在html端有两个按钮。多个提交按钮 - html express node js

<form method="post" name="ratings"> 
    <input type="submit" name="vote" value="like"> 
    <input type="submit" name="vote" value="dislike"> 
</form> 

但是,我只知道如何做一个单一的功能。我怎么能把它分开?我在节点js工作。

因此,像第一行代码如下所示:

router.post('/test/*', function (req, res) { 

会一样的if语句是什么样子的JavaScript?或者我必须更改HTML代码并使用onclick做些什么?任何回应将不胜感激。

+3

使用两个单独的表单可能更具语义。 – Seth

+0

这将是更好的做两条路线 –

+0

后ajax,并调用两条路线 –

回答

2

我想通了。您可以从req.body.vote获取名称,然后使用该值执行任何操作。

var inputValue = req.body.vote; 

if (inputValue == "like") { 
    ... 
2

我建议你使用Ajax,somelike这个..

按钮:

<button name="btnLike" value="like" onclick="like()"> 
<button name="btnDislike" value="dislike" onclick="dislike()"> 

JS:

function like(){ 
    $.ajax({ 
     url: "http://localhost:3000/like", 
     type: "POST", 
     data: {like: 'yes'}, //send this to server 
     success: function(returned) { 
      console.log(returnet); // here can get the return of route 
     }, 
     error: function() { 

     } 
    }); 
} 

function dislike(){ 
    $.ajax({ 
     url: "http://localhost:3000/dislike", 
     type: "POST", 
     data: {dislike: 'yes'}, //send this to server 
     success: function(returned) { 
      console.log(returnet); // here can get the return of route 
     }, 
     error: function() { 

     } 
    }); 
} 

路线:

router.post('/like', function (req, res) { 
} 

router.post('/dislike', function (req, res) { 
} 
+0

这是一个很好,干净的方式,但你不需要like或dislike = yes,因为它已经从终端明显。如果需要,您可以发送任何其他有用的数据。 – CaptRisky