2013-03-22 50 views
0

请大家帮忙,我还是不明白,你能不能请改变需要什么,这是我的全码:PHP上提交秀警觉,不加载操作链接

<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链接但只显示警报。

谢谢你们:)

+0

target =“POPUPW”指示它在新窗口中打开。 – 2013-03-22 13:01:26

+0

使用JS和AJAX ..唯一的方法 – Rufinus 2013-03-22 13:03:17

回答

1

加入Ajax调用在的onsubmit,然后加入return false;,以防止回发。

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

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

0

编辑:

提交通过AJAX和alert()之后添加e.preventDefault();,像这样:

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

<script> 
    $('form').submit(function() { 
     //Send from using an Ajax call 
     e.preventDefault();  
    }); 
+0

相同...这可以防止表单提交...查看问题:“它仍然应该提交api链接但只显示警报。” – Rufinus 2013-03-22 13:07:16

+0

哇感谢您的快速响应。 加入return false; ....它semms工作,但api链接操作无法正常工作。 基本上,此api操作链接从表单中提取用户名,并将其添加到API链接的末尾,通过这样做加载该链接时,它会通过API为此用户dsl帐户添加充值金额。 所以也许让它加载页面,但做一个重定向? – user2080473 2013-03-22 13:09:53

+0

exactely Rufinus :) – user2080473 2013-03-22 13:10:31

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> 
+0

谢谢,生病尝试他 – user2080473 2013-03-22 14:20:01

+0

这可能是最好的方法,因为它会在提交实际完成时发出警报。 – 2013-03-22 14:21:00

+0

不应该我指定的地方在窗体中使用JavaScript? bcoz它似乎不起作用 – user2080473 2013-03-22 14:23:27