<span> <input type="radio" placeholder="请输入密码" name="role" value="student" checked="checked" >学生 <input type="radio" placeholder="请输入密码" name="role" value="apartment">公寓管理员 <input type="radio" placeholder="请输入密码" name="role" value="system">系统管理员 </span>是如何实现前后端交互的
时间: 2023-07-06 09:42:11 浏览: 82
这段代码是一个包含三个单选框的表单元素,用户可以通过单选框选择自己的角色,其中每个单选框都有一个`name`属性,值分别为`role`、`student`、`apartment`和`system`。当用户点击其中一个单选框时,浏览器会将该单选框的值以`name=value`的形式封装在请求体中,例如当用户选择了`学生`这个单选框时,请求体中会包含一个名为`role`,值为`student`的参数。
在服务器端,JSP页面可以通过`request.getParameter("role")`方法获取到用户选择的角色,从而实现前后端数据的交互。具体来说,当用户提交表单时,服务器端会将请求体中的参数值封装在一个名为`request`的对象中,JSP页面可以通过`request.getParameter("role")`方法获取到用户选择的角色值。如果用户选择了`学生`这个单选框,那么`request.getParameter("role")`方法的返回值就是`student`。
因此,这段代码是通过请求参数实现前后端交互的。
相关问题
用css美化以下这个注册页面 <div> <h3 class="title">注册</h3> <form method="post"> <div> <input type="email" v-model="email" id="email" placeholder="请输入邮箱账号"> </div> <div> <input type="password" v-model="password" id="password" placeholder="设置密码"> </div> <div> <input type="password" v-model="passwordRepeat" id="passwordRepeat" placeholder="确认密码"> </div> <div> <input type="text" v-model="tel" id="tel" placeholder="请输入手机号"> </div> </form> <div> <input id="reader-me" type="checkbox" v-model="checked"> 点击表示您同意商城《服务协议》 </div> <div> <input type="submit" name="" :disabled="!checked" @click="mr_verify" value="注册"> </div> </div>
好的,这里是一个简单的样式设计,你可以根据需要进行修改:
```
<style>
body {
background-color: #f2f2f2;
}
.title {
text-align: center;
font-size: 24px;
margin-bottom: 20px;
}
form {
width: 400px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
border-radius: 5px;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}
input {
display: block;
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: none;
border-radius: 5px;
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.1);
}
input[type="submit"] {
background-color: #ff6700;
color: #fff;
font-size: 18px;
font-weight: bold;
cursor: pointer;
}
input[type="submit"]:hover {
background-color: #ff8c00;
}
#reader-me {
margin-right: 10px;
vertical-align: middle;
}
#reader-me + label {
display: inline-block;
vertical-align: middle;
}
</style>
<div>
<h3 class="title">注册</h3>
<form method="post">
<div>
<input type="email" v-model="email" id="email" placeholder="请输入邮箱账号">
</div>
<div>
<input type="password" v-model="password" id="password" placeholder="设置密码">
</div>
<div>
<input type="password" v-model="passwordRepeat" id="passwordRepeat" placeholder="确认密码">
</div>
<div>
<input type="text" v-model="tel" id="tel" placeholder="请输入手机号">
</div>
<div>
<input id="reader-me" type="checkbox" v-model="checked">
<label for="reader-me">点击表示您同意商城《服务协议》</label>
</div>
<div>
<input type="submit" name="" :disabled="!checked" @click="mr_verify" value="注册">
</div>
</form>
</div>
```
<view class="content"> <view class="hr"></view> <view class="bg"> <form bindsubmit="formSubmit" bindreset="formReset"> <view class="item"> <view class="name">联系人</view> <view class="value"> <input type="text" placeholder="收货人姓名" placeholder-class="holder" name="userName" value="{{userName}}" /> </view> </view> <view class="line"></view> <!-- <view class="item"> <view class="name">性别</view> <view class="value"> <radio-group class="radin-group" bindchange="radioChange" name="sex"> <radio value="0" checked="{{sex==0}}">先生</radio> <radio value="1" checked="{{sex==1}}">女士</radio> </radio-group> </view> </view> <view class="line"></view> --> <view class="item"> <view class="name">手机号码</view> <view class="value"> <input type="text" placeholder="联系您的电话" placeholder-class="holder" name="phone" value="{{phone}}" /> </view> </view> <view class="line"></view> <view class="item"> <view class="name">所在城市</view> <view class="value"> <picker mode="region" bindchange="bindRegionChange" value="{{region}}" custom-item="{{customItem}}" name="city"> <view class="picker"> {{region[0]}},{{region[1]}},{{region[2]}} </view> </picker> </view> </view> <!-- <view class="line"></view> <view class="item"> <view class="name">收货地址</view> <view class="value"> <input type="text" placeholder="选择收货地址" placeholder-class="holder" name="address" bindtap="chooseLocation" value="{{address}}" /> </view> </view> --> <view class="line"></view> <view class="item"> <view class="name">详细地址</view> <view class="value"> <input type="text" placeholder="请输入详细信息" placeholder-class="holder" name="num" value="{{num}}" /> </view> </view> <view class="line"></view> <button class="btn" form-type="submit">保存</button> <view class="tip">{{tip}}</view> </form> </view> </view>根据这段代码把上述内容写出数据保存到缓存的js
你可以在 `formSubmit` 方法中获取表单数据,然后将数据保存到缓存中。示例代码如下:
```
Page({
data: {
userName: '',
phone: '',
region: ['', '', ''],
num: '',
tip: ''
},
formSubmit(e) {
const formData = e.detail.value; // 获取表单数据
console.log('form发生了submit事件,携带数据为:', formData);
// 将数据保存到缓存中
wx.setStorageSync('formData', formData);
// 显示保存成功的提示信息
this.setData({ tip: '保存成功' });
},
formReset() {
console.log('form发生了reset事件');
this.setData({
userName: '',
phone: '',
region: ['', '', ''],
num: ''
});
}
})
```
在上面的示例代码中,我们使用 `wx.setStorageSync` 方法将表单数据保存到缓存中,并在保存成功后,使用 `setData` 方法更新 `tip` 变量,显示保存成功的提示信息。如果需要清空表单数据,可以在 `formReset` 方法中设置表单数据的初始值。
阅读全文