Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “表格”;“不是有效的选择”;邮寄时_Javascript_Python_Flask_Flask Sqlalchemy_Flask Wtforms - Fatal编程技术网

Javascript “表格”;“不是有效的选择”;邮寄时

Javascript “表格”;“不是有效的选择”;邮寄时,javascript,python,flask,flask-sqlalchemy,flask-wtforms,Javascript,Python,Flask,Flask Sqlalchemy,Flask Wtforms,我正在实现邮政编码的捕获,并自动填充科隆、城市和州的字段 它的工作原理如下,当我捕获完邮政编码后,通过JQuery调用postalcode()方法,它以JSON格式返回科隆的值(根据邮政编码,结果可以是一个殖民地或多个殖民地) 这显然工作得很好,但当我执行POST以保存数据时,WTForms验证会在结算字段中向我发送消息“Not a valid choice”(非有效选择),“结算”字段最初为空,但当通过JQuery调用“postalcode”方法时,它会填充与邮政编码相关联的殖民地选项 请帮忙

我正在实现邮政编码的捕获,并自动填充科隆、城市和州的字段

它的工作原理如下,当我捕获完邮政编码后,通过JQuery调用postalcode()方法,它以JSON格式返回科隆的值(根据邮政编码,结果可以是一个殖民地或多个殖民地)

这显然工作得很好,但当我执行POST以保存数据时,WTForms验证会在结算字段中向我发送消息“Not a valid choice”(非有效选择),“结算”字段最初为空,但当通过JQuery调用“postalcode”方法时,它会填充与邮政编码相关联的殖民地选项

请帮忙

我的完整代码如下:

forms.py

class ProfileInfoForm(烧瓶形式):
zipcode=StringField(_l('El código postal'),验证器=[DataRequired(message=_l('El código postal es Requeriedo'))],render_kw={“占位符”:_l('El código postal'))
结算=选择字段(选择=[])
city=StringField(_l('Ciudad'),验证器=[DataRequired(message=_l('La Ciudad es requerida'))],呈现_kw={“占位符”:_l('Ciudad')})
state=StringField(_l('Estado'),验证器=[DataRequired(message=_l('El Estado es requeriedo'))],render_kw={“占位符”:_l('Estado')})
提交=提交字段(_l('Actualizar'))
视图.py

@member.route('/update_profile',methods=['GET','POST'])
@需要登录
def更新_配置文件():
form=ProfileInfoForm()
if form.validate_on_submit():
当前_user.zipcode=form.zipcode.data
当前用户结算=表单结算数据
当前_user.city=form.city.data
当前_user.state=form.state.data
db.session.add(当前用户获取当前对象())
db.session.commit()
flash('La información se reactizo correctamente!'),'success')
返回重定向(url_for('member.profile_info',profile=current_user))
如果request.method==“POST”而不是form.validate\u on\u submit():
闪存错误(表格)
form.zipcode.data=当前用户.zipcode
form.consolution.data=当前用户结算
form.city.data=当前用户城市
form.state.data=当前用户状态
返回呈现模板('member/update\u profile.html',form=form,profile=current\u user)
@route('/postalcode',methods=['GET','POST'])
@需要登录
def postalcode():
codpostal=request.form['codigopostal']
locdata=Postalcode.query.filter(Postalcode.d_codigo==codpostal.first()
locsettles=Postalcode.query.filter(Postalcode.d_codigo==codpostal.all()
如果locdata为无:
cp\u isvalid=False
cp_ciudad=‘无’
cp_estado=‘无’
cp_结算=‘无’
其他:
打印((f'status:{locdata}'))
cp\u isvalid=True
cp_ciudad=locdata.d_ciudad
cp_estado=locdata.d_estado
cp_settle=[settle.d_asenta for settle in locsettles]
返回jsonify({'status':cp_有效,
“城市”:cp_ciudad,
“州”:cp_estado,
“结算”:cp_结算})
更新_profile.html


{{form.csrf_token()}}
{{{('Código postal')}
{form.zipcode(type=“text”,id=“fva zipcode”,class='form-control-cod-postalrequired',maxlength=“6”)}
{{{('Colonia')}
{{form.consolution(id=“fva-consolution”,class='form-control-form-select-required',maxlength=“64”)}
{{{('Ciudad')}
{{form.city(type=“text”,id=“fva city”,class='form-control required',maxlength=“64”)}
{{{('Estado')}
{form.state(type=“text”,id=“fva state”,class='form-control required',maxlength=“64”)}
{{wtf.form_字段(form.submit,type=“submit”,class='btn btn lg btn primary')}
$(“.cod postal”)。在(“模糊”,函数(){
var cp=$(this.val().trim().toUpperCase();
如果(cp.length>=5){
$.post(“/member/postalcode”{
代码:cp
}).完成(功能(响应){
var cp_status=响应['status']
$('fva city').val(回复['city');
$('fva state').val(响应['state');
$(“#fva结算”).empty();
对于(变量i=0;i
[enter image description here][1]
[enter image description here][1]