2017-08-26 68 views
-2

大家好,我需要帮助。我正在制作一个产品入口网站,用户在表单中输入产品详情并提交。多个用户输入提示,询问用户在提交表单

在处理我想暂停执行,并给出一个弹出窗口,让用户输入每个产品的股票的形式。用户输入产品库存后,表单将成功提交。我试图使用提示符,但提示只能输入一个用户输入。 注意:执行暂停时多用户输入。

constructor() { 
super(); 
this.state={ 
    products:[], 
    productName:'', 
    category:'', 
    subCategory:'', 
    hsnCode:'', 
    mrp:0, 
    tax:0, 
    purchasePrice:0, 
    status:1, 
    createdAt: new Date(), 
     } 
} 

handleSubmit(e){ 
     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); 
     } 
    ); 

} 

REAL TIME EDIT:所以我用新的代码再次更新了我的问题。我正在制作帐单软件,用户选择已输入的产品进行发票制作。有时,当产品在产品主数据中不可用时,用户在结算面板中输入新产品。

我进入这些产品进入产品主,但问题是用户只输入姓名,税收,价格,数量。我也想要该产品的库存和单位。我想提供一个提示,但只提示一个用户输入,我需要至少两个输入。

编者提示:我在这里做一个假设,但问题是沿着以下几点:“我有多个变量,我想在提交表单之前要求,除了提示完成此操作外,还有什么选项?”

+0

你的问题不是很清楚。因此,如果他们搜索特定物品并且该产品中有超过1种,那么会弹出一个要求他们指定他们想要的产品数量的弹出窗口? – Jayce444

+0

哪里是反应部分?,您可以完全避免使用propmt,并使用一些material-ui库组件作为弹出组件, – mindaJalaj

+0

我更新了我的问题看看它,我上传了一张图片以便更好地理解。不要给我减去排名我其实很努力 –

回答

0

得到两个答案对你来说,这两者都不显示我的“真棒reactjs技能”。

取多个值中的单个提示,验证输入和分割字符串...这是某种形式的回避使用提示的问题。 例如:

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; 
    } 
} 

这可能不是最好的答案,因为你的用户可能没有股票或计量单位,从而导致被输入/混乱和恐慌的虚假信息。它也有点丑陋,而且......好吧......保护。那件有趣的事情。困惑的用户可能会留在地狱,以免他们取消。

更好的答案是以不同的方式解决问题,打破表单提交并将用户链接到输入该信息的正确位置。要清楚的是,这可能意味着创建一个额外的形式,当发生这种情况。

最后,值得注意的是,您的代码中可能存在语法错误(如果您有多个提示,并且代码刚刚破解)。

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 '}'. 
相关问题