0

ボタンをクリックしてフォームを送信すると呼び出される次の関数があります。

    function dadosFormularios(preenchimentoForm){
    //var path = document.location.pathname;
    //alert(path);
    alert(preenchimentoForm);
    //window.location.href = 'wp-content/themes/template/index.php'; 

    var qstringA = '';
    //dados dos campos
    var nome=document.getElementById("nome").value;
    qstringA = 'nome='+ nome;
    //alert(qstringA);

    if(preenchimentoForm==false){
        alert('Please correct the errors in the Form'); 
    }
    else{
        if(preenchimentoForm==true){
            window.location.href = 'index.php?'+qstringA;
        return false;
        }
    }
}

この方法でデータを処理しているためindex.php、関数によって送信されたデータがインデックスに到着したことをページに警告するにはどうすればよいですか? if (isset($_POST['button']..)フォームのボタンからではなく、関数で情報を送信するので、 を使用できませんよね?

4

3 に答える 3

2

window.location.href = 'index.php?'+qstringA;
この行は、クエリ文字列を使用して index.php にリダイレクト?nome=nome_valueしているだけです。
例えば。index.php?nome=nome_value

だから、index.phpあなたは単に投稿されたすべてのものを手に入れることができます$_GET

そこを実行して確認しprint_r($_GET);ます。

ではindex.php、簡単に確認できます

if(isset($_GET["nome"])){
    //Nome is set
    //Do something here
}

PSただし、この関数の使用の背後にある他の状況や理由を知らなくても、この関数は単純な人が行うで<form action=index.php>あろうことを行っているだけであると言えます。

PPSタイトルで言及jQueryし、タグ付けもしましたが、この関数がjQueryコードを使用しているかどうかはわかりません。Javascriptシンプルな機能だと思います。

于 2012-07-17T12:47:36.483 に答える
1

jQueryを使用している場合は、を確認してください.ajax()。ただ覚えておいてください、それは非同期なので、結果はあなたが思っているものではないかもしれません。window.location.href = 'index.php?'+qstringA;情報を送信するためだけに、ページ全体をリロードする必要はありません(これはあなたが行うことです)。

alert呼び出しが完了したときに何かをしたい場合ajaxは、成功したajax呼び出しで呼び出す関数を定義できます。

于 2012-07-17T12:43:44.227 に答える
1

次のようなajax()を使用します:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

http://api.jquery.com/jQuery.ajax/

于 2012-07-17T12:44:10.637 に答える