私はspringsourcetoolsuite、grailsプロジェクトを使用していますが、テキストフィールドに入力された値をmysqlで作成され、grailsに接続されたデータベースのテーブルに格納するというこの問題に遭遇しています。これで、プロパティというドメインクラスがあり、変数address、city、zipcode、countryなどがあります。これらはmysqlデータベースのテーブルプロパティのフィールドでもあります。このコードを使用してユーザーに入力するように依頼すると-(gspビュー)
<body>
<g:textField name="address" maxlength="40" value="${propertyInstance?.address}" />
</body>
それは機能し、値はデータベースに保存されます。ただし、ボタンをクリックするたびに入力フィールドを追加する必要があるため、この入力フィールドをadd()という関数に入れました。これがコードです-
<head>
<script type="text/javascript">
function add() {
var newP = document.createElement("p");
var input1,
area = document.getElementsByTagName("form")[0];
input1 = document.createElement("input");
input1.type = "g:textField";
input1.placeholder = "street";
input1.value = "${propertyInstance?.address}";
newP.appendChild(input1);
area.appendChild(newP);
}
</script>
</head>
<body>
<g:form name='prop' method="post" action="save">
<input type="button" value="+Add" onclick= "add();" ><br>
<g:submitButton name="create" class="save" value="${message(code: 'default.button.create.label', default: 'Create')}" />
</g:form>
</body>
これを実行して実行すると、null値が取得され、「アドレスをnullにすることはできません」というエラーが出力されます。今、私は何が悪いのかわかりませんが、誰かがgroovy / javscriptに精通しているなら、私が何が悪いのかを理解するのを手伝ってください。どうもありがとう。