onClick()从传递给Django模板的函数中获取一个新值
onClick() get a new value from function passed to Django template
我在views.py
中有一个生成随机字符的函数,然后将生成的字符传递到index
视图中的模板。在模板中,我有change
按钮,它应该生成一个新的随机字符,但它没有这样做。它将字段中的任何值更改为已传递给模板的生成字符。
在模板中,btn1
应该在每次单击时将默认的{{ random }}
值更改为新值。
index.html
<form method="POST">
<div class="input-group">
<input type="text" name="name" id="name" class="form-control" value="{{ random }}" onclick="this.select()" readonly="readonly">
<div class="input-group-btn">
<button type="submit" id="btn1" class="btn btn-default" onClick="document.getElementById('name').value='{{ random }}'">Change</button>
<button type="submit" class="btn btn-default">Find</button>
</div>
</div>
</form>
views.py
def generate(size=6, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
@csrf_exempt
def index(request):
random = generate()
if request.method == 'POST':
form = NamesForm(request.POST)
if form.is_valid():
name = request.POST.get('name')
return redirect(checkingNames, name=name)
else:
form = NamesForm()
return render(request, 'index.html', {'form': form, 'random': random})
您应该使用javascript对页面进行异步更改。你有两种方法。
-
如果生成是安全的,请使用AJAX。点击后应发送ajax请求到服务器,这将为您提供一些数据的新随机
-
如果它不安全(例如),您可以仅通过javascript生成随机字符串。例如,从这里
相关文章:
- Javascript:如何获取函数.apply()的键
- 如何在 JavaScript 中获取函数体文本
- 从函数内部获取函数的名称
- 从字符串的 JS 函数中获取函数参数
- 获取函数中按钮的名称
- 在其参数中获取函数本身
- 如何获取函数元素中的值
- 获取函数原型的源代码
- javascript:获取函数's变量's在另一个函数中的值
- 无法获取函数的ajax回调
- Javascript通过名称获取函数
- 如何获取函数参数值
- 使用Rhino从已评估的JS中获取函数名及其参数
- 获取函数jQuery设置的属性
- 获取函数的arity
- AJAX请求在jQuery中获取函数,变量问题
- 获取函数的表单隐藏变量
- 如何从外部JavaScript文件获取函数参数
- 不要在 Codeigniter 中获取函数参数
- 客户端 JavaScript 从服务器端文档集和获取函数接收过时的值