Web ページに新しいフォーム要素を作成するための Javascript 関数があります。関数は onclick イベントによって呼び出されます。
onclick イベントなしで関数を実行する方法がわかりません。フォーム要素を事前設定するためのコンテンツを生成する Python コードがあるため、これを行う必要がありますが、Javascript を使用してフォーム要素を動的に追加および削除できるようにしたいと考えています。
Javascript 関数:
pcount = 0;
createinputprice =function (){
field_area = document.getElementById('pricetable');
var tr = document.createElement("tr");
var cella = document.createElement("td");
var cellb = document.createElement("td");
var input = document.createElement("input");
var input2 = document.createElement("input");
input.id = 'descprice'+pcount;
input2.id = 'actprice'+pcount;
input.name = 'descprice'+pcount;
input2.name = 'actprice'+pcount;
input.type = "text";
input2.type = "text";
cella.appendChild(input);
cellb.appendChild(input2);
tr.appendChild(cella);
tr.appendChild(cellb);
field_area.appendChild(tr);
//create the removal link
var removalLink = document.createElement('a');
removalLink.onclick = function(){
this.parentNode.parentNode.removeChild(this.parentNode)
}
var removalText = document.createTextNode('Remove Field');
removalLink.appendChild(removalText);
tr.appendChild(removalLink);
pcount++
}
HTML:
<table id="pricetable">
</table>
<a href='#' onclick="createinputprice()">Add Price</a>
<script type="text/javascript">
createinputprice();
</script>
onclick イベントは JSFiddle で正常に機能しますが、関数を直接呼び出すとまったく機能しません。