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 に答える