我正在实施订阅系统。我不知道如何获取选择选项标签的值。
我使用select标记将数据发送到node.js服务器。在发送之前,控制台值已通过html进行了很好的检查,但是在发送到服务器时无法确认该值。
我没有写完整的代码,但只写了我需要思考的东西。
* HTML文件
<HTML>
<form action = '/' method="post">
<input id="user_email2" name="user_email2" type="text" value="" disabled title="email write" onfocusout="email_regex()">
<select id="email_select" onChange="emailchange();">
<option value="0">select</option>
<option value="gmail.com">gmail.com</option>
<option value="yahoo.co.kr">yahoo.co.kr</option>
<option value="1">write</option>
</form>
</HTML>
<script>
let emailchange = () => {
if(email_select.value == '1') {
user_email2.disabled = false;
user_email2.value = "";
user_email2.focus();
} else {
user_email2.disabled = true;
user_email2.value = email_select.options[email_select.selectedIndex].value;
}
}
* Node.js(database_mysql.js)
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended : false }));
app.use(bodyParser.json());
app.post('/', function(req, res){
var EMAIL2 = req.body.user_email2;
console.log(EMAIL2);
});
例如,如果用户使用选择标签选择电子邮件地址,则会编写代码,以便将选择标签的值复制到输入框2。最终,提供输入框2值的人(电子邮件2 )。但是,如果尝试检查该值,则会打印“ undefined”。 [(console.log)值] 但 您可以通过将选择标记写入的电子邮件地址发送到node.js来检查值,而不是直接选择它。 我想知道为什么在向服务器发送数据时选择电子邮件地址时未定义该值。