0

请帮忙,我还是不明白,你能改变需要的东西吗,这是我的完整代码:

<form action='https://api.website.co.za/blabla?' method="get" target="POPUPW" onSubmit="alert('Done'); " >

<div align="center"><br />

<input name="user" type="hidden" value="user" />
<input name="pass" type="hidden" value="password" />
<input name="account" type="hidden" value="<?php echo "$username" ?>" />


Topup Amount : 
<select name="amount" size="1">
  <option value="">  select...  </option>
  <option value="1">1GB</option>
  <option value="2">2GB</option>
  <option value="3">3GB</option>
  <option value="4">4GB</option>
  <option value="5">5GB</option>
  <option value="6">6GB</option>
  <option value="7">7GB</option>
  <option value="8">8GB</option>
  <option value="9">9GB</option>
  <option value="10">10GB</option>
  <option value="11">11GB</option>
  <option value="12">12GB</option>
  <option value="13">13GB</option>
  <option value="14">14GB</option>
  <option value="15">15GB</option>
  <option value="16">16GB</option>
  <option value="17">17GB</option>
  <option value="18">18GB</option>
  <option value="19">19GB</option>
  <option value="20">20GB</option>

</select>


<input type="submit" name="sub" value="Submit in Popup">
</form>

我有一个带有 api 链接的表单,因为表单操作和方法是 get....基本上它从表单获取信息并获取输入的值,然后在表单操作中将其添加到我的 api 链接的末尾。

现在我试图让它只在你点击提交后才显示一个警报,而不是加载 api 链接页面,有什么想法吗?

目前它显示警报但也会在我不想要的新页面中加载 api 链接,它仍应提交该 api 链接但仅显示警报。

多谢你们 :)

4

3 回答 3

2

这应该这样做......(未经测试)

在 jQuery 的帮助下:

<form id="myform" action='https://api.website.co.za/blabla/?' method="get">
[...]
</form>
<script type="text/javascript">
$('#myform').on('submit', function(e){
    e.preventDefault();
    $.get($(this).attr('action') + $(this).serialize(), function(result){
         alert('DONE');
    });
});
</script>
于 2013-03-22T13:06:42.210 回答
1

在 onsubmit 中添加 ajax 调用,然后添加return false;以防止回发。

<form action='https://api.website.co.za/blabla/?' method="get" target="POPUPW" onSubmit="yourAjaxMethod(); alert('Done'); return false;" >

通过使用 ajax,您可以提交表单数据而无需回发。

于 2013-03-22T13:01:31.103 回答
0

编辑:

通过 ajax 提交并添加e.preventDefault();after alert(),如下所示:

<form action='https://api.website.co.za/blabla/?' method="get" target="POPUPW">

<script>
    $('form').submit(function() {
        //Send from using an Ajax call
        e.preventDefault();    
    });
于 2013-03-22T13:05:17.027 回答