我是一名用户体验设计师,以及其中一名JS dummie /“HTML编码人员”。通过JSON验证一个简单的HTML表单
我需要帮助或提示来验证一个简单的HTML表单通过第二个请求返回一个JSON答案,在表单被发送之前。
我有一个的LandingPage一个非常简单的HTML表单,用户可以输入优惠券代码:如果用户输入自己的优惠券代码
<form id="tokensubmit" method="GET" action="https://www.xyz/cart.html">
<div class="form-group">
<input type="text" name="tokenCodeAdd" id="tokenCodeAdd" size="25" value="" class="form-control input-lg" placeholder="Please enter Coupon Code">
</div>
<input id="input_id" type="submit" class="btn btn-lg btn-warning btn-block" value="Submit">
</form>
,并点击提交按钮,代码将被添加到操作URL(https://www.xyz/cart.html),用户被重定向到cart.html页面。如果优惠券代码是正确的,一切都很好。如果没有,他会在cart.html页面上收到一条错误消息。
到目前为止这么好。
但我想验证优惠券代码,而不用将用户重定向到新网站(cart.html)。 系统已经为此提供了第二个URL。一个网址,如:
/checkout/validate.html?tokenCode=12345678
这将返回一个JSON的answere与像一个状态:
{"error":"Wrong Coupon Code."}
如果优惠券代码心不是正确的。 如果它是有效的,如:
{"error":"null"}
返回。
我在寻找的是一个简单的解决方案,首先在“提交”按钮上单击调用验证URL(validation.html),解析返回的JSON,防止表单发送,如果“错误”是别的比“null”更高,并在表单输入上方打印JSON消息(“错误的优惠券代码”)。
如果“error”=“null”,表单行为不应该改变。它应该打开附带tokenCode作为参数的https://www.xyz/cart.html URL。
什么我'试图/开始看起来像:
$('#tokensubmit').submit(function(event){
event.preventDefault();
var tokenCheck = $(this).find('input[id="tokenCodeAdd"]').val();
$.ajax({
url: '/checkout/validate.html'+tokenCheck,
type: 'GET',
success: function(data){
var jsonData = $.parseJSON(data);
}
});
});
它仅仅是个开始,我知道了。如果验证失败,则丢失真正的解析部分,并输出错误消息,否则输出错误消息。
任何人可以帮忙吗? 和thx先进!
小提示:表单放置在WordPress驱动的登陆页上,因此PHP和JQuery是一个选项。
欣赏你充实了你的情景,但你并没有真正清楚你的问题实际上是什么。 –