使用Javascript修改表单值
我正在尝试向数量字段添加递增/递减按钮。因此,当用户按下向右箭头时,“数量”字段中的数量将更新1。这是我的代码,我得到了一个未捕获的引用错误:在HtmlanchoreElement.onclick中没有定义incrementQty,我不确定如何继续。函数存在并且我正在传递动态表单id使用Javascript修改表单值,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我正在尝试向数量字段添加递增/递减按钮。因此,当用户按下向右箭头时,“数量”字段中的数量将更新1。这是我的代码,我得到了一个未捕获的引用错误:在HtmlanchoreElement.onclick中没有定义incrementQty,我不确定如何继续。函数存在并且我正在传递动态表单id <script type=”text/javascript”> function decrementQty(id) { var val = parseInt($('#' + id).
<script type=”text/javascript”>
function decrementQty(id) {
var val = parseInt($('#' + id).getValue());
if(val != 1)
document.getElementById(id).value = val - 1;
}
function incrementQty(id) {
var val = parseInt($('#' + id).getValue());
document.getElementById(id).value = val + 1;
}
</script>
<input id="cart-<?php /* @escapeNotVerified */ echo $_item->getId() ?>-qty"
name="cart[<?php /* @escapeNotVerified */ echo $_item->getId() ?>][qty]"
data-cart-item-id="<?php /* @escapeNotVerified */ echo $_item->getSku() ?>"
value="<?php /* @escapeNotVerified */ echo $block->getQty() ?>"
type="number"
size="4"
title="<?php echo $block->escapeHtml(__('Qty')); ?>"
class="input-text qty"
maxlength="12"
data-validate="{required:true,'validate-greater-than-zero':true}"
data-role="cart-item-qty"/>
<a class="pic arrow-right qty" href="javascript:void(0);" onclick="incrementQty('cart-<?php /* @escapeNotVerified */ echo $_item->getId() ?>-qty');"></a>
函数递减率(id){
var val=parseInt($('#'+id).getValue();
如果(val!=1)
document.getElementById(id).value=val-1;
}
函数增量数量(id){
var val=parseInt($('#'+id).getValue();
document.getElementById(id).value=val+1;
}
为什么将函数包装在CDATA
标记中?共享完整呈现的HTML,而不是PHP代码。PHP代码块很难读取。为什么不改用heredoc
?一半使用jQuery,一半使用javascript。天啊。更改此type=“text/javascript”
和$(id).val()
您在javascript函数中错过了按id元素的jQuery选择器的递减性和递增数量:var val=parseInt($('#'+id).getValue())代码>
<input id="cart-502-qty"
name="cart[502][qty]"
data-cart-item-id="7640149080453"
value="8"
type="number"
size="4"
title="Qty"
class="input-text qty"
maxlength="12"
data-validate="{required:true,'validate-greater-than-zero':true}"
data-role="cart-item-qty"/>
<a class="pic arrow-right qty" href="javascript:void(0);" onclick="incrementQty('cart-502-qty');"></a>
<input id="cart-<?php /* @escapeNotVerified */ echo $_item->getId() ?>-qty"
name="cart[<?php /* @escapeNotVerified */ echo $_item->getId() ?>][qty]"
data-cart-item-id="<?php /* @escapeNotVerified */ echo $_item->getSku() ?>"
value="<?php /* @escapeNotVerified */ echo $block->getQty() ?>"
type="number"
size="4"
title="<?php echo $block->escapeHtml(__('Qty')); ?>"
class="input-text qty"
maxlength="12"
data-validate="{required:true,'validate-greater-than-zero':true}"
data-role="cart-item-qty"/>
<a class="pic arrow-right qty" href="javascript:void(0);" onclick="increaseQTY('cart-<?php /* @escapeNotVerified */ echo $_item->getId() ?>-qty');"></a>
<script>
function increaseQTY(formid) {
document.getElementById(formid).value ++;
}
</script>