2017-08-26 69 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 '}'. 
相關問題