ajax填充表单,使用ajax根据另一个字段的输入自动填充django表单字段

这篇博客讲述了如何在Django用户注册表单中集成Google Maps API,自动填充美国地址,并尝试将地址字段的数据同步到城市字段。作者遇到问题,尽管尝试了多种方法,但未能成功实现地址到城市字段的联动填充。博客中提到了模型、表单和JavaScript代码片段,寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我对AJAX或jQuery没有太多的经验。我想收集用户注册时的地址(地址、城市、州和邮政编码)。我有一个Django Form,它有四个字段。地址字段通过googlemapsapi和django地址(https://github.com/furious-luke/django-address)自动填充有效的美国地址。如果我想把这个地址和生活填充,比如说,城市领域,我该怎么做呢?我尝试了上百万种不同的解决方法,但都没有成功。在

在模型.py在class user_profile(models.Model):

user = models.OneToOneField(User, on_delete=models.CASCADE)

address = AddressField()

city = models.CharField(max_length=200)

state = models.CharField(max_length=200)

zip = models.CharField(max_length=200)

在表单.py在

^{pr2}$

模板

Register for an Account

{% if error_message %}

{{ error_message }}

{% endif %}

{% csrf_token %}

{% for field in profileform %}

{{ profileform.media }}

{{ field.errors }}

{{ field }}

{% endfor %}

{% csrf_token %}

Submit

在地址.js在$(function(){

$('input.address').each(function(){

var self = $(this);

var cmps = $('#' + self.attr('name') + '_components');

var fmtd = $('input[name="' + self.attr('name') + '_formatted"]');

document.getElementsByName('address')[0].placeholder='Residential address';

self.geocomplete({

details: cmps,

detailsAttribute: 'data-geo'

}).change(function(){

if(self.val() != fmtd.val()) {

var cmp_names = ['country', 'country_code', 'locality', 'postal_code',

'route', 'street_number', 'state', 'state_code',

'formatted', 'latitude', 'longitude'];

for(var ii = 0; ii < cmp_names.length; ++ii){

$('input[name="' + self.attr('name') + '_' + cmp_names[ii] + '"]').val('');

};

};

});

});

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值