我正在構建一個快速應用程式。我有一個下拉串列,其提交的值被傳遞給users.js并啟動一個 mongodb 查詢。然后,該查詢的結果被傳遞回 ejs 并成為腳本函式的引數。
問題是我希望在單擊提交時呼叫該函式。(我可以承受頁面渲染的延遲)。
現在,我有兩個按鈕,一個用于提交,一個用于呼叫該函式。
index2.ejs
<form action="/users/details" method="POST">
<fieldset>
<select required class="selectpicker" name="selectpicker">
<!-- options -->
</select>
<input type="submit" id="submit-form" />
</fieldset>
</form>
<button onclick="popu(<%= JSON.stringify(coun) %>);">blue</button>
和 users.js
router.get("/index2", function(req, res, next) {
(async function() {
count = await funcoun(coll); // a mongodb query
res.render("index2", {title: 'some data', userdataa: a, imgsrc : coll, coun : count});
}) ();
});
router.post("/details", function(req, res, next) {
coll = req.body.selectpicker;
res.redirect("/users/index2");
})
所以,基本上我希望表單傳遞值(coll)來表達,計算count,用這個值呼叫函式,然后渲染頁面。
目前,計算count是在舊值的基礎上進行的,當blue單擊按鈕時,則為當前值。
我很困惑,如果我onclick輸入提交按鈕,它會做什么,因為尚未計算。
uj5u.com熱心網友回復:
<body onload = "popu(<%= JSON.stringify(coun) %>);">
解決了這個問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/411769.html
標籤:
