Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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/1/asp.net/29.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 在React中提交表单时防止再次单击_Javascript_Asp.net_Reactjs_Ecmascript 6_React Hooks - Fatal编程技术网

Javascript 在React中提交表单时防止再次单击

Javascript 在React中提交表单时防止再次单击,javascript,asp.net,reactjs,ecmascript-6,react-hooks,Javascript,Asp.net,Reactjs,Ecmascript 6,React Hooks,我的React应用程序中有一个表单,我想在提交后禁用或无法单击Pay按钮。问题是,它不是通过API提交的,而是通过提交的 表格 <form ref={formEl} action="https://sample.aspx" method="POST"> <input name="order" id="order" value={base64String} readOnly type="

我的React应用程序中有一个表单,我想在提交后禁用或无法单击
Pay
按钮。问题是,它不是通过API提交的,而是通过
提交的

表格

<form ref={formEl} action="https://sample.aspx" method="POST">
  <input name="order" id="order" value={base64String} readOnly type="hidden" />
</form>

如果要实现此功能,应使用表单event
onSubmit
。使用任何HTTP客户端(如fetch或axios)调用API。您可以使用状态值来跟踪提交状态

表格

<form ref={formEl} action="https://sample.aspx" method="POST">
  <input name="order" id="order" value={base64String} readOnly type="hidden" />
</form>

按钮

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
onPay(order.id)}>Pay;
状态

const[submiting,setSubmitting]=useState(false)
支付功能

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
const onPay=(id)=>{
如果(提交)返回;
formEl.current&&formEl.current.submit();
};
提交功能

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
const onSubmit=async(事件)=>{
event.preventDefault();
设置提交(真);
待命https://sample.aspx');
设置提交(假);
}

如果要实现此功能,应使用表单event
onSubmit
。使用任何HTTP客户端(如fetch或axios)调用API。您可以使用状态值来跟踪提交状态

表格

<form ref={formEl} action="https://sample.aspx" method="POST">
  <input name="order" id="order" value={base64String} readOnly type="hidden" />
</form>

按钮

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
onPay(order.id)}>Pay;
状态

const[submiting,setSubmitting]=useState(false)
支付功能

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
const onPay=(id)=>{
如果(提交)返回;
formEl.current&&formEl.current.submit();
};
提交功能

<Button onClick={() => onPay(order.id)}>Pay</Button>;
const onPay = (id) => {
  formEl.current && formEl.current.submit();
};
const onSubmit=async(事件)=>{
event.preventDefault();
设置提交(真);
待命https://sample.aspx');
设置提交(假);
}
  • 您可以在useState中使用布尔值来禁用和启用它

     const [_boolValue, setBoolValue] = useState(true);
    
     <Button onClick={() => {
     setBoolValue(!_boolValue)
     onPay(order.id)
     }}>Pay</Button>;
    
  • 您可以在useState中使用布尔值来禁用和启用它

     const [_boolValue, setBoolValue] = useState(true);
    
     <Button onClick={() => {
     setBoolValue(!_boolValue)
     onPay(order.id)
     }}>Pay</Button>;
    

  • 您可以使用
    useState
    跟踪按钮的单击时间:

    const[paid,setPaid]=useState(false)


    然后根据上述设置按钮的
    启用状态。您可以在
    onPay
    函数中切换布尔值。

    您可以使用
    useState
    跟踪按钮的单击时间:

    const[paid,setPaid]=useState(false)


    然后根据上述设置按钮的
    启用状态。您可以在
    onPay
    函数中切换布尔值。

    请提供示例,更多infoPls提供示例,更多infoPls提供示例,更多infoPls提供示例和更多信息