簡體   English   中英

使用來自 JavaScript 的參數調用 function

[英]Call function with param from JavaScript

我希望你能幫助我。

我正在嘗試從 javascript 調用 php function。

當我將一個值與字符串連接時不起作用,但如果我正確調用 function 時,如果我放置一個沒有連接的固定值。

我留下我使用的代碼。

Function 來自我的 controller:

function size_make_dropdownlist($size_make_id)
{
    $output = "<select id='size_make' name='size_make' style='width:100px;'>";

    //$output .= $this->new_option('Seleccionar', '0', $size_make_id);

   // $query = $this->car_model->get_car_makes();

    $options = array('product_id' => id_clean($size_make_id));
    $Q = $this->db->getwhere('omc_product_sizes',$options);
    if ($Q->num_rows() > 0){
    $query = $Q->row_array();   


    foreach ($query as $row)
    {
        $output .= "<option value=".$row['product_id'].">Talla ".$row['size']."</option>";
    }
    }
    $output .= "</select'>";

    return ($output);
}

FUNCTION JAVASCRIPT

function sizes(product){
var phpcodeis="<?php $size_make_dropdownlist=$this->MProducts->size_make_dropdownlist("+product+"); echo $size_make_dropdownlist; ?>";

//$size_make_dropdownlist=$this->MProducts->size_make_dropdownlist("+product+"); echo $size_make_dropdownlist; ?>"; //When use this line work perfectly but i need the another one

document.getElementById("php_code_size").innerHTML=phpcodeis;
alert(product);
}

代碼 HTML

<a href="#"
   style="display:block; color:#333; font-family:Tahoma; font-size:12px;"
   onclick="sizes(1); return false;"> Sizes 1 </a>
<a href="#"
   style="display:block; color:#333; font-family:Tahoma; font-size:12px;"
   onclick="sizes(2); return false;"> Sizes 2 </a>
<span id="php_code_size"> </span>

或其他方式來做到這一點?

我會多理解一點,希望這可以幫助我更輕松一些。

提前致謝

您應該注意 PHP 在 JavaScript 之前執行。 In most scenarios, you cannot generate PHP with JavaScript and expect it to run (unless you're using JavaScript at the backend and have some magical bridge to PHP from it).

您可能想要的是從 JavaScript 發出 XHR (AJAX) 請求,並讓 PHP 服務返回純數據。 然后 JavaScript 將從該數據中呈現選項元素,理想情況下使用 HTML 模板引擎。

您可以將 php 標記嵌入到內聯 javascript 中,但您不能在 javascript 文件中執行此操作。 您必須使用 ajax 調用從服務器接收值。 或在 function 定義之前將值嵌入 html 文件中(不是很好的方法!)

php 文件中的某處(例如在 html 的頭部)

編輯:

<head>
<script type="text/javascript">
   var myGlobalFromPHP = <?php echo myFunctionValue ?>;  // enclose it in quotes if it's a string.
</script>
</head>

然后在您的 javascript 文件中,您可以使用這個myGlobalFromPHP

function(){
   alert(myGlobalFromPHP);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM