Javascript 我如何解决这个问题?未捕获类型错误:无法读取属性';文本内容';在HTMLButtonElement.botonContinuar.onclick处未定义的
当我从菜单中选择3种产品时,它可以工作,但如果我选择1到2,它就不能工作。 我的意思是,它只在我选择3种产品时起作用,当选择1时,它告诉我在第177行上有一个错误,初始化productoDos的行。如果我选择2,它告诉我第181行有一个错误,这是初始化productoTres的行 如果我写这篇文章,它可以与1个产品和2个产品一起工作,问题是我不能使它与2个以上的产品一起工作Javascript 我如何解决这个问题?未捕获类型错误:无法读取属性';文本内容';在HTMLButtonElement.botonContinuar.onclick处未定义的,javascript,Javascript,当我从菜单中选择3种产品时,它可以工作,但如果我选择1到2,它就不能工作。 我的意思是,它只在我选择3种产品时起作用,当选择1时,它告诉我在第177行上有一个错误,初始化productoDos的行。如果我选择2,它告诉我第181行有一个错误,这是初始化productoTres的行 如果我写这篇文章,它可以与1个产品和2个产品一起工作,问题是我不能使它与2个以上的产品一起工作 botonContinuar.onclick = function(){ let formulario2
botonContinuar.onclick = function(){
let formulario2 = document.querySelector("#formulario-2");
let formaDePago = formulario2.TypeOfPaymentyOption.value;
valid = true;
event.preventDefault();
// your validations
if((formaDePago) == ""){
alert("Completa los espacios requeridos.")
valid = false;
console.log("falso")
}
// and so on all your validations
if(valid){
let productoUno = document.querySelectorAll("#exampleModalLabel2")[0].textContent
let precioUno = document.querySelectorAll("#price-span2")[0].textContent
let cantidadUno = document.querySelectorAll("#sel2")[0].value
let productoDos = document.querySelectorAll("#exampleModalLabel2")[1].textContent
let cantidadDos = document.querySelectorAll("#sel2")[1].value
let precioDos = document.querySelectorAll("#price-span2")[1].textContent
let productoTres = document.querySelectorAll("#exampleModalLabel2")[2].textContent
let cantidadTres = document.querySelectorAll("#sel2")[2].value
let precioTres = document.querySelectorAll("#price-span2")[2].textContent
let total = document.querySelector("#total-estimado").textContent
switch(numeroPedidos){
case 1:
let pedido1Item = `*PEDIDO: DM Indumentaria* %0a%0a— *[ ${cantidadUno} ]* ${productoUno} > *${precioUno}*%0a%0a*Total:* ${total}*%0aForma de pago: *${formaDePago}*%0a`;
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + pedido1Item);
break
case 2:
let pedido2Item = `*PEDIDO: DM Indumentaria* %0a%0a— *[ ${cantidadUno} ]* ${productoUno} > *${precioUno}*%0a— *[ ${cantidadDos} ]* ${productoDos} > *${precioDos}* %0a %0a*Total:* ${total}*%0aForma de pago: *${formaDePago}*%0a`;
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + pedido2Item);
break;
case 3:
let pedido3Item = `*PEDIDO: DM Indumentaria* %0a%0a— *[ ${cantidadUno} ]* ${productoUno} > *${precioUno}*%0a— *[ ${cantidadDos} ]* ${productoDos} > *${precioDos}*%0a— *[ ${cantidadTres} ]* ${productoTres} > *${precioTres}* %0a %0a*Total:* ${total}*%0aForma de pago: *${formaDePago}*%0a`;
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + pedido3Item);
break;
default:
document.write("El usuario ingreso una operacion incorrecta");
}
}
}
更新:更新版本:
botonContinuar.onclick = function(){
let formulario1 = document.querySelector("#formulario-1");
let formulario2 = document.querySelector("#formulario-2");
let tipoDeEnvio = formulario1.TypeOfDeliveryOption.value;
let formaDePago = formulario2.TypeOfPaymentyOption.value;
valid = true;
event.preventDefault();
// your validations
if((formaDePago && tipoDeEnvio) == ""){
alert("Completa los espacios requeridos.")
valid = false;
console.log("falso")
}
// and so on all your validations
if(valid){
let productoUno = document.querySelectorAll("#exampleModalLabel2")[0].textContent
let precioUno = document.querySelectorAll("#price-span2")[0].textContent
let cantidadUno = document.querySelectorAll("#sel2")[0].value
let total = document.querySelector("#total-estimado").textContent
if(numeroPedidos === 1){
let pedido1Item = `*PEDIDO: DM Indumentaria* %0a%0a— *[ ${cantidadUno} ]* ${productoUno} > *${precioUno}*%0a%0a*Total:* ${total}%0a%0aTipo de envío: *${tipoDeEnvio}*%0aForma de pago: *${formaDePago}*%0a`;
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + pedido1Item);
} else if (numeroPedidos > 1){
let productoDos = document.querySelectorAll("#exampleModalLabel2")[1].textContent
let cantidadDos = document.querySelectorAll("#sel2")[1].value
let precioDos = document.querySelectorAll("#price-span2")[1].textContent
let pedido2Item = `*PEDIDO: DM Indumentaria* %0a%0a— *[ ${cantidadUno} ]* ${productoUno} > *${precioUno}*%0a— *[ ${cantidadDos} ]* ${productoDos} > *${precioDos}* %0a %0a*Total:* ${total}%0a%0aTipo de envío: *${tipoDeEnvio}*%0aForma de pago: *${formaDePago}*%0a`;
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + pedido2Item);
}
}
}
HTML页面:
佩蒂多斯广场酒店
帕拉莫索斯广场酒店
汉堡
捣碎的汉堡包
平底干酪、汉堡、番茄酱、莱丘加、萨尔萨阿霍、切达干酪和爸爸弗里达
$ 270
素食汉堡包
平底干酪、汉堡素食、番茄酱、莱丘加、萨尔萨阿霍、切达干酪和爸爸弗里达。
品种:鹰嘴豆、大豆、藜麦、蓝特加
$ 250
诺科汉堡包
平底干酪、汉堡纯素食、番茄酱、莱丘加、萨尔萨·德阿霍、切达干酪和爸爸弗里达
$ 350
爸爸
大贝贝
$ 180
咖啡豆
$ 150
爸爸切达大酒店
$ 230
切达咖啡豆
$ 200
&时代;
情态标题
...
康蒂达:
1.
2.
3.
4.
5.
阿格雷戈
1项
$0
&时代;
情态标题
$0
1.
2.
3.
4.
5.
6.
7.
8.
台面:
1.
2.
3.
4.
5.
botonContinuar.onclick = function(){
let formulario2 = document.querySelector("#formulario-2");
let formaDePago = formulario2.TypeOfPaymentyOption.value;
valid = true;
event.preventDefault();
// your validations
if ((formaDePago) === "") {
alert("Completa los espacios requeridos.")
valid = false;
}
// and so on all your validations
if (valid) {
const names = document.querySelectorAll("#exampleModalLabel2");
const prices = document.querySelectorAll("#price-span2");
const quantities = document.querySelectorAll("#sel2");
let items = [];
for (let i = 0; i < names.length; i++) {
const name = names[i].textContent;
const quantity = quantities[i].value;
const price = prices[i].textContent;
items.push(`— *[ ${quantity} ]* ${name} > *${price}*%0a`)
}
let total = document.querySelector("#total-estimado").textContent;
const text = `*PEDIDO: DM Indumentaria* %0a%0a${items.join('')}%0a*Total:* ${total}*%0aForma de pago: *${formaDePago}*%0a`;
console.log(text);
window.open("https://api.whatsapp.com/send?phone=5493815415219&text=" + text);
alert('Order has been sent');
}
}