如何在.html中使用JavaScript函数

时间:2014-03-06 04:23:01

标签: javascript jquery

我想在html()内部获取javascript函数代码看起来像

 var test = getParameterByName('page');
 $(".pageContainer").html("<?php echo check("+ test")['content']; ?>  ");

我尝试了很多不同的组合,但都没有效果。我是javascript的新手。

提前致谢

5 个答案:

答案 0 :(得分:0)

你不能像这样混合javascript和php。当php在服务器端工作时,Javascript在clint端工作。

您可以使用ajax向服务器询问响应。

Javascript方面:

var test = getParameterByName('page');
$(".pageContainer").load('foo.php?key=' + encodeURIComponent(test));

PHP方面:

<?php
// foo.php

// do something ....

echo check($_GET['key'])['content'];

答案 1 :(得分:0)

假设在JavaScript可以触及之前服务器没有处理<?php,那应该有效:JavaScript将获取参数并将类pageContainer的所有元素的HTML更改为

<?php echo check(X)['content']; ?>

其中XgetParameterByName的结果。但是,我想不出将它放在某些HTML中的正当理由。更有可能的是,您希望执行 PHP 功能, JavaScript 功能。如果是这样的话,那不是那么简单;你必须创建一个新的PHP页面,其唯一目的是执行该函数并使用AJAX来检索它。

答案 2 :(得分:0)

试试这个,

$(".pageContainer").html(check(test)['content']);

如果需要html()中的javascript功能,那么js check()应该return an array喜欢,

function check(test){
   var arr=[];
   // your code
   arr['content']='some value';
   return arr;
}

Live Demo

如果check()php function,那么您需要使用ajax()之类的,

$(function(){
    var test='your value';
    $.ajax({
       url:'function.php',
       dataType:'json',
       data:{action:'check',test:test},
       type:'POST',
       success:function(data){
          $(".pageContainer").html(data.content);
       }
    });
});

功能.php页面

<?php
    $action=isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
    if($_REQUEST['action'] == 'check'){
       echo json_encode(array('content'=>$_REQUEST['test']));
       return;
    }
?>

答案 3 :(得分:0)

jQuery中的.html()函数将接受函数作为参数。请参阅https://api.jquery.com/html/#html2所以,使用您的示例:

$(".pageContainer").html( function() {
    //Get the html content you are looking for
    //Perhaps $.get() [https://api.jquery.com/jQuery.get/] is what you 
    //are looking for instead of using php inline here
});

此外,.getParameterByName()不是javascript或jQuery的内置函数。要复制它,请参阅以下答案:How can I get query string values in JavaScript?

答案 4 :(得分:0)

如果你想从php函数获取值,那么试试

你可以在编辑的php函数代码中传递js变量作为参数

$( document ).ready(function() {
var param=' value from js print in php';    
$(".pageContainer").html(" <?php echo te('"+param+"'); ?>");    

}); <?php
function te($param){
    echo $param;
}
?>

或者如果你想从js本身获取价值,那么试试这个

$( document ).ready(function() {    
 $(".pageContainer").html( te());   

});
function te(){
    return "value from js";
}