1

ページを更新/再読み込みせずに、送信ボタンのクリックでいくつかのphpコードを実行したい。出来ますか?また、ページの読み込み時にjavascript関数があるため、ページを更新したくありません。前もって感謝します。

<?php
if(isset($_POST["search"]))
{
$show = "SELECT * FROM data";
$rs = mysql_query($show) or die(mysql_error());
 $add_to_textbox = "<input type='button' name='btn' value='add' />";
#****results in Grid****
    echo "<table width='360px' border='1' cellpadding='2'>";
    $rowID=1;
while($row = mysql_fetch_array($rs))
{
    echo "<tr>";
    echo "<td width='130px' id='name.$rowID.'>$row[Name]</td>";
    echo "<td width='230px' id='link.$rowID.'><a href = '$row[Link]'>$row[Link]</a></td>";
    echo "<td width='130px' onclick='Display($rowID);'>$add_to_textbox</td>";
    echo "</tr>";
    $rowID++;
}
    echo "</table>";
#**********************
mysql_free_result($rs);
}
?>

<script type="text/javascript">
function Display(rowID){
    var linkVal = document.getElementById('link'+rowID+'').innerHTML.replace(/<\/?[^>]+(>|$)/g, "\n");
    document.getElementById("name").value = document.getElementById('name'+rowID+'').innerHTML;
    document.getElementById("link").value = linkVal; 
    }
</script>

これが私のコードです

4

3 に答える 3

7

さて、あなたはjavascript/ajaxを使用する必要があります。

例:送信リンク(例の場合はhref)で、呼び出しをjs関数に追加し、submitMe必要な変数を渡します

function submitMe() {
    jQuery(function($) {    
        $.ajax( {           
            url : "some_php_page.php?action=getsession",
            type : "GET",
            success : function(data) {
                alert ("works!"); //or use data string to show something else
                }
            });
        });
    }

一部のコンテンツを動的に変更したい場合は、簡単です。タグを作成し、タグにIDを割り当てるだけです。<div id="Dynamic"> </div>

次に、これら2つのタグの間にあるものをロードします。

document.getElementById("Dynamic").innerHTML = "<b>BOOM!</b>";

2つのタグの間の領域を呼び出し、それらに何かをロードすることを意味します。その場所からデータを取得するのと同じ方法:

alert(document.getElementById("Dynamic").innerHTML);

これを読んでください: http ://www.tizag.com/javascriptT/javascript-getelementbyid.php

さらに、DOM要素を試して実験し、それらがどのように相互作用するかを学びます。難しいことではありません。すべての概念を理解するには少し時間がかかります。

于 2012-11-26T06:13:09.977 に答える
0

htmlフォームからリクエストajax(とにかくプレーンjsを使用)を送信するときは常に、リダイレクトを防ぐためにreturnfalseステートメントを追加してください。

<form method="post" ... onsubmit="ajax_post(); return false;">

ajaxを使用する必要がありますが、プレーンなjavascript(jqueryなし)で使用できます。Jqueryはそれを簡単にします。

プレーンなJavaScriptの例:この関数は、パラメーターなしでgetを介してajaxをトリガーします:POSTで実行され、パラメーターを送信できるように調整できます:fileはリクエストするphpファイルを表し、 htmlはデータが表示される:

function plain_ajax(file,html){
    if (window.XMLHttpRequest){ 
          r=new XMLHttpRequest();   //For Most BRowser
    } else{ 
          r=new ActiveXObject("Microsoft.XMLHTTP");  //for Explorer
    }

    //When the state change
    r.onreadystatechange=function(){ 
       //ReadyState 4 = Loaded     see: http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/
       //status 200 = ok           see: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
       if(r.readyState==4 && r.status==200){
           //Replace the content with the response, Using creatDocumentFragment is more efficient 
           //at the cost of a few more lines But it  would alos allow you to append the data
           //instead of replacing it using innerHTML;
           document.getElementById(html).innerHTML = r.responseText;
        }
    }

    //Opening the connection and sending the request.
    r.open("GET",file,true); 
    r.send();
}
于 2012-11-26T06:35:09.250 に答える
0

HTMLまたはPHPフォーム

<form action="submit.php"  method="post">
Name: <input name="name" id="name" type="text" /><br />
Email: <input name="email" id="email" type="text" /><br />
Phone Number: <input name="phone" id="phone" type="text" /><br />
<input type="button" id="searchForm" onclick="SubmitForm();" value="Send" />
</form>

あなたのJavaScript

 <script>
 function SubmitForm() {
 var name = $("#name").val();
 var email = $("#email").val();
 var phone = $("#phone").val();
 $.post("submit.php", { name: name, email: email, phone: phone },
 function(data) {
 alert("Data Loaded: " + data);
 });
 }
 </script>

いくつかのアクティビティを実行するためのPHPページ

 <?php
 echo $_POST['name']."<br />";
 echo $_POST['email']."<br />";
 echo $_POST['phone']."<br />";
 echo "All Data Submitted Sucessfully!"
 ?>
于 2014-08-11T06:37:58.117 に答える