Привет всем Я работаю над проектом, похожий на торговых cart.I я использую следующий код для создания текстовых полей (для выбора количества), на мой взгляд:прохождения яваскрипта проверки динамических текстовых полей в mvc3
@foreach (var item in Model)
{
<tr>
<td align="left" class="Text_nocolor">
@Html.DisplayFor(modelItem=>item.ProductName)
/td>
<td align="right" class="Text_nocolor" valign="top">
@using (Html.BeginForm("Update", "Cart", new { UserID = Request.QueryString["UserID"] }, FormMethod.Post, new { id = "myForm" }))
{
<input id="Quantity" type="text" class="Text_nocolor" name="Quantity" value="@item.Quantity" @*onblur="return NumberOnlyTextBox(event)"*@ onchange="return allownumbers()" maxlength="3"/>
@Html.Hidden("unitrate", item.Rate)
<input type="submit" value="Edit" class="Text_nocolor" onkeypress="return validateNumbersOnly(e);" onclick="return RegainFocus();" />
}
В приведенном выше коде «id = Quantity» представляет собой текстовые поля. и я написали javascript только для только проверки для этих текстовых полей. Это мои JavaScript функции:
<script type="text/javascript">
function RegainFocus() {
if ((document.getElementById("Quantity").value).length == 0) {
document.getElementById("Quantity").focus();
alert("Quantity cannot be empty");
document.getElementById("Quantity").value = document.getElementById("Quantity").defaultValue;
return false;
}
else if ((document.getElementById("Quantity").value) > 100) {
alert("There is no enough inventory for this product to fulfill your order");
document.getElementById("Quantity").value = document.getElementById("Quantity").defaultValue;
return false;
}
}
</script>
<script type="text/javascript">
function allownumbers() {
// var elements = document.getElementsByName('Quantity');
// for()
var val = parseInt(document.getElementsByName("Quantity").item(1).value);
alert(val);
if (!val || val < 1) {
alert('Please enter a valid value');
document.getElementById("Quantity").value = document.getElementById("Quantity").defaultValue;
return false;
}
document.getElementById("Quantity").value = val;
return true;
}
</script>
Моя проблема заключается в том, что проверка работает только для первого текстового поля не другие. Может ли кто-нибудь предложить решение? Спасибо