ページにDIVを動的に挿入しています。ここでは、簡単な例を示します。
HTML:
<div class="left-column">
<p>
<label>Company Name:</label>
<input type="text" maxlength="255" id="BodyContentPlaceholder_LeftColumnContentPlaceHolder_CompanyNameTextBox" />
</p>
<p>
<label>Phone:</label>
<input type="text" maxlength="255" id="BodyContentPlaceholder_LeftColumnContentPlaceHolder_PhoneNumberTextBox" __id="105" />
</p>
</div>
<div class="right-column">
<p>
<label __id="109">Contact Name:</label>
<input type="text" maxlength="255" id="BodyContentPlaceholder_LeftColumnContentPlaceHolder_ContactNameTextBox" __id="110" />
</p>
<p>
<label>Email:</label>
<input type="text" maxlength="255" id="BodyContentPlaceholder_LeftColumnContentPlaceHolder_EmailTextBox" /> </p>
</div>
<div style="clear:both;">
<input type="submit" value="Submit Request" id="myButton" />
</div>
CSS:
.inputError {
border: 1px solid #006;
background: pink;
}
.divError {
border: 1px solid black;
background: red;
}
label {
float:left;
width:120px;
text-align:right;
margin-right:5px;
}
input[type="text"] {
width: 150px;
}
.left-column, .right-column {
float:left;
position: relative;
}
.left-column p, .right-column p {
padding-bottom: 10px;
}
.left-column {
margin-right:5px;
}
JS:
$(document).ready(function() {
$("#myButton").on("click", DoTrick);
});
function DoTrick()
{
var $input = $("#BodyContentPlaceholder_LeftColumnContentPlaceHolder_CompanyNameTextBox");
var $div = $("<div/>")
.attr("id", "GGG")
.addClass("divError")
.text("This field has error");
$div.insertAfter($input);
}
しかし、理想的には、入力要素がわかっているときはいつでも、その右上に表示されるDIVを追加したい場合は、一般的に機能するようにします。これは、「フロート」する必要がある検証メッセージです。
今、DIVを追加すると、レイアウトが壊れて、必要な場所に移動しません。