php
  • javascript
  • 2013-07-09 57 views 0 likes 
    0

    我想將一些JavaScript放到PHP代碼片段中,並且能夠加載一個函數。我一直在關注這個網站:http://www.dynamicdrive.com/forums/showthread.php?41129-How-to-put-JS-in-PHP,並沒有運氣。在php中放置Javascript

    這是我到目前爲止的代碼:

    <input type="hidden" name="projectPhoto" value='<?php echo "<script type=\"text/javascript\" src=\"js\phpjs.js\"></script>"; 
                       ?>'/> 
    

    儘管下面的說明清楚,結果是什麼正在呼應。該腳本尚未運行。這甚至有可能做到嗎?

    而且這是我的函數:

    function uploadFile(){ 
        var filename = document.getElementById("image").value; 
        filename = filename.replace("C:\\fakepath\\", ""); 
        alert(filename); 
        filename = String(filename); 
        document.getElementById("projectPhoto").value = filename; 
    }; 
    
    +0

    檢查與警報(); –

    +1

    您無法在輸入標籤內回顯腳本標籤,並期望它能夠正常工作。您可以嘗試按照原樣回顯腳本,然後將該值設置爲如下形式:value = uploadFile() – Gimmy

    +0

    我們之前討論過這個問題,這是不可靠的,某些瀏覽器也會返回一個fakepath前綴。 – Tredged

    回答

    4

    你必須加載這個JS在它自己的文件。你甚至不需要PHP對於這一點,你可以用你已經包括了同一個腳本標籤:

    <script type="text/javascript" src="js/phpjs.js"> 
    

    只需把該標籤,讓我們說你的波紋管輸入的標籤。另外,另外一個波紋管: <script> uploadFile();

    但我懷疑這是行不通的。你的函數想把「#image」元素的值放到這個隱藏字段中?這個#image是動態創建的嗎? IE瀏覽器。用戶在那裏輸入什麼?

    然後,你可以簡單地做輸入標籤是這樣的:

    <input id="image" onchange="uploadFile()"/> 
    
    3
    <?php 
    
    // PHP Single quotes and double quotes for JavaScript 
    echo '<script type="text/javascript">'; 
    echo 'document.write("Like That!")'; 
    echo '</script>'; 
    
    ?> 
    
    0

    你有兩個問題至少包括:

    1. 你是混合的JavaScript和PHP起來,這是不能因爲你不能在php中使用javascript:$fileName = document.getElementById('image').value;

    2. 我不確定瀏覽器會執行01輸入字段的value屬性內的標籤。將腳本放在它之外。

    1

    我不確定是否有可能。但它看起來不正確。

    我會採取的JavaScript出你輸入字段的值,而是設定在你的函數值:

    function uploadFile(){ 
        var fileName = document.getElementById('image').value; 
        document.getElementById('projectPhoto').value = fileName; 
    } 
    

    有了這樣你輸入字段:

    <input type="hidden" name="projectPhoto" id="projectPhoto" value='' /> 
    
    相關問題