Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单javascript突然不起作用_Javascript_Wordpress - Fatal编程技术网

简单javascript突然不起作用

简单javascript突然不起作用,javascript,wordpress,Javascript,Wordpress,更新:在一个页面上有12个。只有最后一个有效。它们都有唯一的ID和为它们编写的唯一函数 这个简单的功能在我的开发站点上运行,但由于某些原因,它不是我的实时站点。这是wordpress安装,但它们的设置应该完全相同。我没有写其他函数或任何东西。有什么想法吗?我想可能是一个插件阻止了它,但经过测试,情况并非如此。我不知道如何使用开发人员工具对javascript进行故障排除 function quantChange() { d = document.getElementById("bwoo-

更新:在一个页面上有12个。只有最后一个有效。它们都有唯一的ID和为它们编写的唯一函数


这个简单的功能在我的开发站点上运行,但由于某些原因,它不是我的实时站点。这是wordpress安装,但它们的设置应该完全相同。我没有写其他函数或任何东西。有什么想法吗?我想可能是一个插件阻止了它,但经过测试,情况并非如此。我不知道如何使用开发人员工具对javascript进行故障排除

function quantChange() {
    d = document.getElementById("bwoo-quantity-187").value;
    document.getElementById("187").setAttribute('data-quantity',d);
}
正在使用的输入

<select class='quantity' onchange='quantChange()' id='bwoo-quantity-187'>
    <option value=0>0</option>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    <option value=6>6</option>
    <option value=7>7</option>
    <option value=8>8</option>
    <option value=9>9</option>
    <option value=10>10</option>
</select>

0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
我试图更改的项目:

<form action="/order-now/a-la-carte/?add-to-cart=187" class="cart-nonmealplan" method="post" enctype="multipart/form-data">
    <button type="submit" id="187" data-product_id="187" data-product_sku="" data-quantity="1" class="add_to_cart_button button product_type_simple">Add to cart</button>
</form>

添加到购物车

ID不能包含数字作为第一个符号。这可能是问题所在吗? 参见工作示例

HTML


0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
添加到购物车
函数quantChange(){
var d=document.getElementById(“bwoo-quantity-187”).值;
document.getElementById(“p187”).setAttribute('data-quantity',d);
}    

“我不知道如何使用开发人员工具对javascript进行故障排除。”--我将从您的开发人员工具开始,转到控制台选项卡,查看是否显示任何错误。
event.returnValue不推荐使用。请改用标准的event.preventDefault()这是开发站点上显示的唯一错误。您不能将
107
用作
id
。另外,在使用之前忘记声明变量(虽然不会引起太多问题。)这是为什么?它在其他安装上运行良好。这似乎对开发站点没有影响。我来看看。你们必须理解其中的区别,你们不应该把你们不懂的代码放到你们的任何网站上。问题是内部ID,您需要正确设置elemen ID。谢谢您的帮助。有趣的是,它仍然不起作用。这是否意味着其他脚本正在以某种方式进行干扰?更好的解决方案是使用1个函数。这将得到一个参数。然后function1()function2()Function3()您可以创建一个函数updateCartQuantity(el){document.getElementById(“p”+el.value)//您可以在此处获取您选择的字段的值}最后将其锁定。谢谢
<select class='quantity' onchange='quantChange()' id='bwoo-quantity-187'>
    <option value=0>0</option>
    <option value=1>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    <option value=6>6</option>
    <option value=7>7</option>
    <option value=8>8</option>
    <option value=9>9</option>
    <option value=10>10</option>
</select>

<form action="/order-now/a-la-carte/?add-to-cart=187" class="cart-nonmealplan" method="post" enctype="multipart/form-data">
    <button type="submit" id="p187" data-product_id="p187" data-product_sku="" data-quantity="1" class="add_to_cart_button button product_type_simple">Add to cart</button>
</form>

<script>
function quantChange() {
    var d = document.getElementById("bwoo-quantity-187").value;
    document.getElementById("p187").setAttribute('data-quantity',d);
}    
</script>