1

好的,我正在尝试测试这个 jQuery。我想从 ajax 运行我的其他 php 文件。

<script type="text/javascript">

var switchOn = function() {
  $.ajax({
    url: '../remote/test.php',
    type:'POST',
    dataType:'text',
    data: {test: 'Hello there!'},
    success: function(data) {
      document.write(data);
    }

  });
}


//Button functions

function changeState1()
{
    if(window.document.myform.switch1[0].checked){
            window.document.myform.switch1[1].checked = true;
            document.myform.changeStateButton1.value = "Turn On";
            switchOn();

    }else{
            window.document.myform.switch1[0].checked = true;
            document.myform.changeStateButton1.value = "Turn Off";
        switchOn();

    }
}

function changeState2()
{
    if(window.document.myform.switch2[0].checked){
            window.document.myform.switch2[1].checked = true;
            document.myform.changeStateButton2.value = "Turn On";


    }else{
            window.document.myform.switch2[0].checked = true;
            document.myform.changeStateButton2.value = "Turn Off";

    }
}

function changeState3()
{
    if(window.document.myform.switch3[0].checked){
            window.document.myform.switch3[1].checked = true;
            document.myform.changeStateButton3.value = "Turn On";


    }else{
            window.document.myform.switch3[0].checked = true;
            document.myform.changeStateButton3.value = "Turn Off";

    }
}

function changeState4()
{
    if(window.document.myform.switch4[0].checked){
            window.document.myform.switch4[1].checked = true;
            document.myform.changeStateButton4.value = "Turn On";


    }else{
            window.document.myform.switch4[0].checked = true;
            document.myform.changeStateButton4.value = "Turn Off";

    }
}


</script>

<form name="myform" action="index.php?p=remotecontrol" method="POST">
<b>On/Off</b>
<br>
Switch 1
<br>
<input type="radio" name="switch1" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch1" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton1" name="changeStateButton1" value="Turn On" onClick="changeState1()">
<br>
Switch 2
<br>
<input type="radio" name="switch2" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch2" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton2" name="changeStateButton2" value="Turn On" onClick="changeState2()">
<br>
Switch 3
<br>
<input type="radio" name="switch3" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch3" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton3" name="changeStateButton3" value="Turn On" onClick="changeState3()">
<br>
Switch 4
<br>
<input type="radio" name="switch4" onClick="window.document.myform.switch.value = 'On'">
<input type="radio" name="switch4" onClick="window.document.myform.switch.value = 'Off'">
<input type="button" id="changeStateButton4" name="changeStateButton4" value="Turn On" onClick="changeState4()">
<br>

</form>

这是我的另一个 php 文件。

<?php
item1 = $_REQUEST['test'];

    echo $item1;


?>

我确信代码会到达 ajax 函数,但是我的页面上没有发生任何事情。应该有来自其他 php 文件的回声。test.php 位于 Sites/remote 中,与第一个文件所在的目录相同。我试过 url '../test.php' 和 '../remote/test.php'。没有区别...

4

2 回答 2

0
callPage('setSwitch.php?switch='+targetSwitch ....

callPage('remote/setSwitch.php?switch='+tar ....

你有 2 个 setSwitch.php ,1 个在远程,1 个在同一个文件夹中

switch='+targetSwitch,document.getElementById(targetId)

只是传递 targetId 而不是如何知道它关闭或打开..也许

switch='+targetSwitch,document.getElementById(targetId)+'&acrion=off'

function callPage(url, div){ //need 2 var
于 2013-05-02T09:35:31.830 回答
0

从您发布的代码看来,您已经声明了 PHP 函数,但您从未调用它们。

在您的 php 文件中,您还应该有类似的内容:

if (isset($_GET['switch']))
{
    $switch=$_GET['switch'];
    if ( "something" == $switch )
    {
        setSwitchOn($switch);
    }
    else
    {
        if ( "something else" == $switch )
        {
            setSwitchOff($switch)
        }
        else
        {
            // some other code
        }
    }
}
于 2013-05-02T09:19:33.400 回答