2017-06-13 29 views
0

如何将span标签的文本值发送给控制器?Node.js将范围值提交给控制器

user_profile.hbs

<div class="panel panel-default"> 
    <div class="panel-heading">User Profile</div> 
    <div class="panel-body"> 
    <form method="get" enctype="multipart/form-data" action="/home/user/profile/update"> 
     <div> 
     Username: <span id="user_upd">{{user}}</span> 
     </div> 
     <div> 
     Email: <span id="email_upd">{{email}}</span> 
     </div> 
     <div> 
     Type: <span>{{type}}</span> 
     </div> 
    </div> 
    <input type="submit" value="Update Info"/> 
    </form> 
</div> 

userController.js

// Display User update form on GET 
module.exports.userUpdateGet = function(req, res) { 
    console.log(req.body); 
    res.render('user_profile_update', { 
    usename: req.body.username, 
    email: req.body.email, 
    user: req.user.username 
    }); 
} 

而这正是user_profile_update视图:

<div class="panel panel-default"> 
    <div class="panel-heading">Update User</div> 
    <div class="panel-body"> 
    <form method="post" enctype="multipart/form-data" action="/home/user/profile/update"> 
     <div> 
     <label for="username">Username: </label> 
     <input type="text" name="username" id="username" value={{username}}/> 
     </div> 
     <div> 
     <label for="email">Email: </label> 
     <input type="text" name="email" id="email" value={{email}}/> 
     </div> 
    </div> 
    <input type="submit" value="Save Changes"/> 
    </form> 
</div> 

我的目标是显示来自user_profile.hbs作为输入值的信息到user_profile_update.hbs

编辑:

我试图用这个js代码,但user_profile_update观点并没有呈现......为什么?

$(document).ready(function(){ 
    var user,email; 
    $("#submit_update").click(function(){ 
     user= $("#user_upd").text(); 
     email= $("#email_upd").text(); 
     $.get("/user/profile/update", {user: user,email: email}, function(data){ 
     }); 
    }); 
    }); 

回答

0
<div class="panel panel-default"> 
    <div class="panel-heading">User Profile</div> 
    <div class="panel-body"> 
    <form method="get" enctype="multipart/form-data" action="/home/user/profile/update"> 
     <div> 
     Username: <span>{{user}}</span> 
     </div> 
     <div> 
     Email: <span>{{email}}</span> 
     </div> 
     <div> 
     Type: <span>{{type}}</span> 
     </div> 
    </div> 
    <input type="submit" value="Update Info"/> 
    </form> 
</div> 

更改为

<div class="panel panel-default"> 
    <div class="panel-heading">User Profile</div> 
    <div class="panel-body"> 
    <form method="get" enctype="multipart/form-data" action="/home/user/profile/update"> 
     <input type="hidden" name="user" value={{user}}/> 
     <input type="hidden" name="email" value={{email}}/> 
     <input type="hidden" name="type" value={{type}}/> 
     <div> 
     Username: <span>{{user}}</span> 
     </div> 
     <div> 
     Email: <span>{{email}}</span> 
     </div> 
     <div> 
     Type: <span>{{type}}</span> 
     </div> 
    </div> 
    <input type="submit" value="Update Info"/> 
    </form> 
</div> 

您可以使用input hidden或者形式的onclick您可以用js来设置cookie的&然后从服务器检索

+0

cookie的我会更好喜欢使用js,但它不会呈现预期的视图。你能否检查我更新后的答案中的代码? – Valip