-3

ユーザーがボタンをクリックしたときにコントロールパネルからコマンドを送信する iframe があります。以下のコードを使用すると、コードに構文エラーがあるため、ユーザーがクリックしてもボタンに何も起こりません。

$items['googledotcom'] = array
        (
            'description'=>'DNS resolution test',
            '1'=>1,
            '0'=>0,
            'fixCommand'=>'EXC service network restart; echo "nameserver 8.8.8.8" >> /etc/resolv.conf; sleep 10; health check',
        );

次の行のため、上記のコードは機能しません。echo "nameserver 8.8.8.8" >> /etc/resolv.conf;

しかし、上記の行を削除すると、コードは機能します。ただし、上記の行も追加する必要があります。

構文に関する提案はありますか?

ありがとう!

アップデート

コマンドの形式: ここに画像の説明を入力

doCommand Javascript:

<script type='text/javascript'>

function doCommand(command)
{
    var r=confirm("Are you sure you want to \"" + command + "\"");
    if (!r)
    {
        return;
    }

    $.post('/device/commands-frame/', { id : '<?=$this->site->id;?>', act : command, command : command }, function(data)
    {
        alert('Command has been sent');
    });
}
</script>
4

1 に答える 1

2

これを試して:

<?php
$items['googledotcom'] = array
    (
        'description'=>'DNS resolution test',
        '1'=>1,
        '0'=>0,
        'fixCommand'=>"EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check"
    );
    var_dump($items);
?>

これは次のことを示しています。

array(1) { ["googledotcom"]=> array(4) { ["description"]=> string(19) "DNS resolution test" [1]=> int(1) [0]=> int(0) ["fixCommand"]=> string(103) "EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check" } }

今、私は次のフィドルで値をテストし、それが機能しています: http://jsfiddle.net/EjXmp/

そのフィドルには次のコードが含まれています。

$(document).ready(function(){

$("#clickme").click(function(){
doCommand("EXC service network restart; echo 'nameserver 8.8.8.8' >> /etc/resolv.conf; sleep 10; curo health check");
});

function doCommand(command)
{
var r=confirm("Are you sure you want to \"" + command + "\"");
if (!r)
{
    return;
}

$.post('/device/commands-frame/', { id : '<?=$this->site->id;?>', act : command, command : command }, function(data)
{
    alert('Command has been sent');
});
}

});
于 2013-10-03T01:31:22.370 に答える