セレクターを含むフォームがあります。「新規追加」オプションがあり、それを選択するとテキスト入力がjqueryで動的に生成されます。今私がする必要があるのは、送信時にテキスト入力の存在を確認し、存在する場合はその情報でテーブルを更新し、セレクターを無視することです。私の質問は、フォーム検証を使用してモデルでこれを行う必要がありますか? それとももっと適切な方法がありますか?
セレクタ:
<%= builder.select(:line_id, ['~ Add New ~'] + Line.all.collect {|p| [p.title, p.id ]}, { :include_blank => 'select line' }, :id => "line_selector")
jQuery:
$(document).ready(function(){
$("#line_selector").on("change", function() {
if($(this).prop("selectedIndex") == 1) {
console.log($("#line_selector").prop("selectedIndex"));
var new_line_title = prompt('Please enter a line title');
if(!new_line_title.length) {
console.log("no entry");
return;
};
console.log(new_line_title);
$(this).after($(document.createElement("input"))
.attr("type", "text")
.attr("id", "text")
.attr("name", "text")
.attr("value", new_line_title));
};
});
});