#html #alignment #html-table #element #inline
#HTML #выравнивание #html-таблица #элемент #встроенный
Вопрос:
Ниже приведен мой код, который я использовал для создания HTML-формы! В настоящее время имена текстовых полей и текстовые поля следуют одно за другим. Например: сетевой адаптер и его текстовое поле не являются встроенными.
Если я использую два <td>
тега для пары элементов, хотя они становятся встроенными, они далеко друг от друга! Как я могу исправить эту проблему?
<html>
<head>
<style>input.textfill {
float: right;
}</style>
</head>
<body bgcolor="#E6E6FA">
<form id=orders name="orders" action="orders_action.php" method="post" enctype="multipart/form-data" onsubmit="return Validate(this);">
<table align="Center" >
<tr><td height="40"><br>
<div class="headingbox" id="hBoxNIC" > National ID </div>
<div style="width:100%;text-align:center;">
<input type="text" placeholder="920290505v" maxlength="13" name=NIC required autofocus />
</div>
</td></tr>
<tr><td height=50 ><div class="headingboxs">Pick up</div>
<input type=radio name=DP required value="Pickup">
<div style=" float: right;"><div class="headingboxs">
Delivery</div>
<input class="textfill" type=radio name=DP required value="Delivery" onmouseup="textbox(this)" /></div><br><br></td></tr>
<tr><td height="50"><div class="headingbox" >Expected Time </div>
<div style="width:100%;text-align:center;">
<input type="time" id=time autofocus name=DPTime onfocusout="hid('timeerror2');" onfocus="show('timeerror2');"min="09:00:00" max="22:00:00" /><br>
</div>
<div class="poperror" id="timeerror2"> Pharmacy is opened from 9AM to 10PM </div>
<script>
var input = document.getElementById('time');
function validateTime (element) {
var minTime = element.min;
var maxTime = element.max
var value = element.value ':00'
if(minTime > value || value > maxTime) {
console.log("Time is outside of min/max.");
}
}
</script>
</td></tr>
<tr><td height="50"><div class="headingbox" id="hBoxPN"> Phone Number </div>
<div style="width:100%;text-align:center;">
<input type="text" maxlength=10; autofocus name=Tele /><br>
</div>
<div class="error" id="phoneerror" > error occured </div><br></td></tr>
<tr><td height="50"><div class="headingbox" id="hBoxEM"> E-mail </div>
<div style="width:100%;text-align:center;">
<input type="text" autofocus name=Email placeholder="xxx@gmail.com" /><br>
</div>
<div class="error" id="emailerror" > error occured </div><br>
</td></tr>
<tr>
<td height="50" width=330><br><div class="headingbox"> Prescription Copy-1</div> <div id="kids">
<input id="uploadFile" class="disableInputField" placeholder="Choose File" disabled="disabled" />
<label class="fileUpload">
<input id="uploadBtn" type="file" class="upload" name=Image1 />
<span class="uploadBtn">Upload</span>
</label>
<input type="button" id="add" onclick="addkid()" value=" " />
</div></td></tr>
<script>
document.getElementById("uploadBtn" ).onchange = function() {
document.getElementById("uploadFile").value = this.value;
};
</script>
</div></td></tr>
<tr><td colspan=5 align=center>
<input class="button" type=submit name=submit value=Place >
<input class="button" type=reset name=reset value=Cancel> </td></tr>
</table>
</form>
</body>
</html>
Ответ №1:
Я думаю, это то, что вы ищете. Я в основном заменил все div
теги span
тегами. Элемент span, естественно, будет встроенным, в то время как divs попытается перейти к следующей строке.
var input = document.getElementById('time');
function validateTime(element) {
var minTime = element.min;
var maxTime = element.max
var value = element.value ':00'
if (minTime > value || value > maxTime) {
console.log("Time is outside of min/max.");
}
}
document.getElementById("uploadBtn").onchange = function() {
document.getElementById("uploadFile").value = this.value;
};
input.textfill {
float: right;
}
<body bgcolor="#E6E6FA">
<form id=orders name="orders" action="orders_action.php" method="post" enctype="multipart/form-data" onsubmit="return Validate(this);">
<table align="">
<tr>
<td height="40">
<br>
<span class="headingbox" id="hBoxNIC"> National ID </span>
<span style="width:100%;text-align:center;">
<input type="text" placeholder="920290505v" maxlength="13" name=NIC required autofocus />
</span>
</td>
</tr>
<tr>
<td height=50>
<span class="headingboxs">Pick up</span>
<input type=radio name=DP required value="Pickup">
<span style=" float: right;">
<span class="headingboxs">
Delivery</span>
<input class="textfill" type=radio name=DP required value="Delivery" onmouseup="textbox(this)" />
</span>
<br>
<br>
</td>
</tr>
<tr>
<td height="50">
<span class="headingbox">Expected Time </span>
<span style="width:100%;text-align:center;">
<input type="time" id=time autofocus name=DPTime onfocusout="hid('timeerror2');" onfocus="show('timeerror2');" min="09:00:00" max="22:00:00" />
<br>
</span>
<span class="poperror" id="timeerror2"> Pharmacy is opened from 9AM to 10PM </span>
</td>
</tr>
<tr>
<td height="50">
<span class="headingbox" id="hBoxPN"> Phone Number </span>
<span style="width:100%;text-align:center;">
<input type="text" maxlength=10; autofocus name=Tele />
<br>
</span>
<span class="error" id="phoneerror"> error occured </span>
<br>
</td>
</tr>
<tr>
<td height="50">
<span class="headingbox" id="hBoxEM"> E-mail </span>
<span style="width:100%;text-align:center;">
<input type="text" autofocus name=Email placeholder="xxx@gmail.com" />
<br>
</span>
<span class="error" id="emailerror"> error occured </span>
<br>
</td>
</tr>
<tr>
<td height="50" width=330>
<br>
<span class="headingbox"> Prescription Copy-1</span>
<span id="kids">
<input id="uploadFile" class="disableInputField" placeholder="Choose File" disabled="disabled" />
<label class="fileUpload">
<input id="uploadBtn" type="file" class="upload" name=Image1 />
<span class="uploadBtn">Upload</span>
</label>
<input type="button" id="add" onclick="addkid()" value=" " />
</span>
</td>
</tr>
<tr>
<td colspan=5 align=center>
<input class="button" type=submit name=submit value=Place>
<input class="button" type=reset name=reset value=Cancel>
</td>
</tr>
</table>
</form>
</body>
Комментарии:
1. спасибо, но я не хочу, чтобы они были выровнены по текстовым полям, выровненным друг под другом! у вас они немного искажены
2. вы хотите, чтобы все они были выровнены по левому краю ниже их desc вот так ?
3. Это тоже было изначально так! я хочу, чтобы он был встроенным и близко друг к другу, т.е. jsfiddle.net/k9spo7ru вместе со стихиями в полном порядке! не одно за другим! например, имя текстового поля и текстовое поле в одной строке! и текстовое поле в следующей строке находится чуть ниже текстового поля предыдущей строки! я имел в виду, что текстовое поле электронной почты находится непосредственно под полем номера телефона! т.е. они оба выровнены по вертикали!