Могу ли я загрузить максимальное значение атрибута range в CFINPUT, используя вызов AJAX?
У меня есть CFINPUT
тег в CFFORM
, Я хочу установить диапазон динамически, не публикуя страницу. У меня есть несколько вызовов AJAX по всей странице для динамической загрузки полей формы на лету:
<cfselect id="this" name="this" bind="cfc:Data.getThis()" bindonload="true" />
<cfselect id="that" name="that" bind="cfc:Data.getThat({p1})" />
<cfselect id="theOther" name="theOther" bind="cfc:Data.getTheOther({p1}, {p2})" />
<cfdiv
id="maxQty"
bind="cfc:Data.getMaxQty({itemId})" />
<cfinput
type="text"
id="qty"
name="qty" />
<cfdiv
id="itemId"
bind="cfc:Data.getItemId({this}, {that}, {theOther})" />
В выше CFFORM
Я в основном хочу установить minValue диапазона в "1" и maxValue диапазона в значение cfc:Data.getMaxQty({itemId})
,
Это возможно? Как мне это сделать?
1 ответ
Решение
Быстрый ответ - "Нет". Но есть очень легкий обходной путь. Просто загрузите значение, которое вы хотите быть максимальным в CFDIV
или CFINPUT
скрытое поле с помощью привязки, затем получите доступ к этому значению в функции JavaScript, которая проверяет минимальные / максимальные значения при отправке формы:
<script type="text/javascript">
<!--
function validateForm() {
var maxQty = document.getElementById("maxQty").innerHTML;
if (document.myForm.add_item_1.value < 1 || document.myForm.add_item_1.value > maxQty) {
alert("Quantity must be an integer value between 1 and " + maxQty);
return false;
}
return true;
}
//-->
</script>
<cfform name="myForm" method="post" action="myFormAction.csm" onsubmit="return validateForm();">
<cfdiv
id="maxQty"
bind="cfc:Data.getMaxQty({itemId})" />