Guest User

Untitled

a guest
Jul 22nd, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. class MainForm(FlaskForm):
  2. select_val = SelectField('Выбор', choices = [('FIRST', 'FIRST'), ('SECOND', 'SECOND')])
  3. main_name = StringField('Имя')
  4. submit = SubmitField('Выбрать')
  5.  
  6. @app.route('/result')
  7. def result():
  8. return render_template('result.html', main_name=session.get('main_name'))
  9.  
  10. @app.route('/select_page', methods=['GET','POST'])
  11. def select_page():
  12. form = MainForm()
  13. if form.validate_on_submit():
  14. select_val = form.select_val.data
  15. session['main_name'] = form.main_name.data
  16. return redirect(url_for('result'))
  17. return render_template('select_page.html', form=form)
  18.  
  19. @app.route('/select_pageprocess', methods=['POST'])
  20. def select_pageprocess():
  21. select_val = request.form['select_val']
  22. return jsonify({'select_val' : select_val})
  23.  
  24. $(document).ready(function() {
  25. $('select').on('change', function(event) {
  26. $.ajax({
  27. data : {
  28. select_val : $('#select_val').val()
  29. },
  30. type : 'POST',
  31. url : '/select_pageprocess'
  32. })
  33. .done(function(data) {
  34. if(data.select_val == 'FIRST'){
  35. $('#second').hide();
  36. $('#first').show();
  37.  
  38. }else if(data.select_val == 'SECOND'){
  39. $('#first').hide();
  40. $('#second').show();
  41. }
  42. });
  43. event.preventDefault();
  44. });
  45. });
  46.  
  47. <form action="" method="post" id="select_pageform" novalidate>
  48. {{ form.hidden_tag() }}
  49. <p>
  50. {{ form.select_val.label }}<br>
  51. {{ form.select_val }}
  52. {% for error in form.select_val.errors %}
  53. <span style="color: red;">[{{ error }}]</span>
  54. {% endfor %}
  55. </p>
  56. <p>{{ form.submit() }}</p>
  57. </form>
  58. <div id="first" style="display:yes;>"{% include '_FIRST.html' %}</div>
  59. <div id="second" style="display:none;>"{% include '_SECOND.html' %}</div>
  60.  
  61.  
  62. <p>first</p>
  63. {{ form.main_name.label}}<br>
  64. {{ form.main_name}}<br>
  65.  
  66. <p>second</p>
  67. {{ form.main_name.label}}
  68. {{ form.main_name}}
Add Comment
Please, Sign In to add comment