大家好,我需要帮助。我正在创建一个产品输入网站,用户在表单中输入产品详细信息并提交。
在处理表单时,我想暂停执行并向用户弹出一个输入每个产品的库存。用户输入产品库存后,表单将成功提交。我试图使用提示但提示只能输入一个用户。 注意:执行暂停时有多个用户输入。
<div style="width:100%; margin:5px 70px;">
<div class="sidebar">
the sidebar is going to have variable width
</div>
<div class="content">
<div class="fixed">
Fixed
</div>
<p>content</p>
</div>
</div>
实时编辑:所以我用新代码再次更新了我的问题。我正在制作计费软件,用户选择已经输入的产品来制作发票。有时,当产品主数据中没有产品时,用户会在计费面板中输入新产品。
我将这些产品输入产品主数据,但问题是用户只输入名称,税号,价格,数量。我还想要该产品的库存和单位。我想提示一个提示但是提示仅适用于一个用户输入我需要至少两个输入。
编者注:我在这里做了一个假设,但问题是这样的:“在提交表单之前我想要多个变量,除了提示完成此操作之外,我还有哪些选项? “
答案 0 :(得分:0)
为你找到了两个答案,这两个答案都没有显示我的“令人敬畏的反应技巧”。
在单个提示中获取多个值,验证输入并拆分字符串...这是某种形式的回避使用提示的问题。 例如:
while(true){
// noprotect
var i= prompt("Item not in database. Please enter your stock followed by uom, or cancel and check for typing errors. Two numbers, comma separated please.","0, 0");
var a=i.split(',');
if(a.length==2 && Number.isInteger(Number.parseInt(a[0])) && Number.isInteger(Number.parseInt(a[1]))){
let stock=a[0];
let uom=a[1];
break;
}
}
这可能不是最好的答案,因为您的用户可能没有库存或uom,这会导致输入错误信息/混乱和恐慌。它也有点难看,而且......好吧...... // noprotect。那有趣的事情。困惑的用户可能会被提醒地狱,以免他们取消。
更好的答案是以不同的方式处理问题,中断表单提交并将用户链接到正确的位置以输入该信息。要清楚,这可能意味着在发生这种情况时创建一个额外的表单。
最后,值得注意的是,您的代码中可能存在语法错误(如果您有多个提示,并且代码只是破坏了)。
handleSubmit(e){//<--this is a lonely '{'
event.preventDefault();
this.state.products.map(
(product)=>{
if (product.pid=="S") {
let stock= prompt("enter your stock");
let uom= prompt("enter your uom");
console.log(stock);
console.log(uom);
}
);//<--this is a lonely ')'.
}//<--this is closing the brace opened at (product)=>{ , which probably means that ')' should be a '}'.