Я разрабатываю приложение с помощью Jquery и Flask, которое динамически генерирует ввод текста типа, нажимая на соответствующий переключатель, затем приложение должно захватить текст каждого ввода и распечатать его в нижней части экрана. Когда я генерирую только один ввод с помощью одного переключателя с установленным "именем" следующим образом, приложение работает идеально:
$('#Entradas').append('<input type="text" id="name2" name="message1" placeholder="Ingresa tu mensaje">')
Но поскольку я могу генерировать несколько входов с помощью одного и того же переключателя, мне нужно, чтобы параметр "имя" был переменным или автоматически увеличивался каждый раз, когда ввод генерируется с помощью переключателя, чтобы при обработке кодом в колбе он мог печатать тексты всех сгенерированных входных данных. С помощью следующего кода я генерирую два типа входных данных, первый с именем переменной и второй с фиксированным именем, вход с фиксированным именем выводит его идеально, но два входа с именем переменной выводят их как "Нет".
HTML-Javascript (InsertarFlask3.html)
<script type=text/javascript>
var i=0;
$(document).ready(function(){
$("#der-iz").click(function(){
var i = i+1;
$('#Entradas').append('<textarea type="text" id="name" name= "(i)" placeholder="Type
your message">'); //Input with name variable. It does not work.
$('#Entradas').append("<br>");
})
$("#ab-ar").click(function(){
$('#Entradas').append('<input type="text" id="name2" name="message2"
placeholder="Type your message">'); //Input with name fixed. It works.
$('#Entradas').append("<br>");
})
$(function() {
$('a#process_input').bind('click', function() {
$.getJSON('/background_process', {
mess1: $('textarea[name="1"]').val(),
mess2: $('textarea[name="2"]').val(),
message2: $('input[name="message2"]').val()
}, function(data) {
$("#result").text(data.result);
$("#result").append("<br>");
$("#result").append(data.result1);
$("#result").append("<br>");
$("#result").append(data.result2);
});
return false;
});
});
});
</script>
<body>
<form>
<div id="Entradas">
</div>
<br>
<a href=# id=process_input><button class='btn btn-default'>Send</button></a>
</form>
<p>
<label>
<input type="radio" name="filaint" id="der-iz" value="der-iz" >Right-Left</label>
<label>
<input type="radio" name="filaint" id="ab-ar" value="ab-ar" >Down-Up</label>
</p>
<br>
<div id=result>
</div>
</body>
Колба
@app.route("/")
def index():
return render_template("InsertarFlask3.html")
@app.route("/background_process")
def background_process():
lang = str(request.args.get('mess1'))
lang1 = str(request.args.get('mess2'))
lang2 = str(request.args.get('message2'))
return jsonify({'result':lang, 'result1':lang1, 'result2':lang2})
Текст входных данных, сгенерированный переключателем "der-iz", печатается как Нет, и единственный текст, сгенерированный переключателем "ab-ar", печатается правильно.
Я ценю, что вы помогли мне исправить эту реализацию.