如何提交表单只有当某些条件与其他表单匹配?

2020年8月26日 35点热度 0条评论 来源: yajiv

我正在使用AMP。我要求用户的手机号码,然后hit api(let's X)。如果响应成功,则向用户显示结果,如果响应是error then I asked otp。进入otp后点击验证我hit api(let's Y)。 API的回应如下。如何提交表单只有当某些条件与其他表单匹配?

Response code=200 
code=1 or 2 or 3 
Response code=400 
Message:"some error" 

在API Y和if code=1 then only I want to hit api Xsuccess响应。我不知道该怎么做。以下是我所做的。

<form method="post" 
     id="form1" 
     action-xhr="url of X api" 
     on="submit-error:otpScreen.show"> 
. 
. 
. 
</form> 
<form method="get" 
     action-xhr="url of Y api" 
     on="submit-success:event.response.code==1?form1.submit:otpScreen.hide" //here i getting syntax error 
> 
<div id='otpScreen'>.......</div> 
</form> 

甚至有可能从第一种形式提交第二种形式的一些条件?

===========解决方案如下:

使用amp-bind禁用第二个窗体的提交按钮,直到提交第一个窗体。例如:

<form id=form1 on="submit-success:AMP.setState({form1Success: true})">...</form> 
<form id=form2> 
    ... 
    <input type=submit disabled [disabled]="!form1Success"> 
</form> 

...或者你可以使用hidden属性隐藏第二种形式:

<form id=form1 on="submit-success:AMP.setState({form1Success: true})">...</form> 
<form id=form2 hidden [hidden]="!form1Success"> 
    ... 
</form> 
    原文作者:yajiv
    原文地址: https://stackoverflow.com/q/47993462
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。