2011-05-14 86 views
0

從此代碼。用javascript替換文本

<form method="get"> 
    <div align="center"><textarea name="post" ></textarea></div> 
    <div align="center"><input type="submit" value="Submit"></div> 
</form> 

<? 
$aaa = $post; 
$new_aaa=str_replace(array(
'a', 
'b' 
), array(
'A', 
'B' 
), $aaa); 
?> 

<textarea readonly="true" cols="100" rows="3" name="post" > 
    <? echo $new_aaa; ?> 
</textarea> 
</div> 

如果我們在JavaScript的形式在這裏做寫? 如果你不明白,它是從textarea獲得價值,然後使用str_replace函數作爲一個類型,但輸出是A,幫我寫一個我自己寫的PHP,但從未寫過JS。

對不起,我用谷歌翻譯。

+0

你只需要「A」由「A」和「B」的「B」來代替,或者只是讓textarea的文本全部變爲大寫?焦點離開textarea時,你想修改textarea文本嗎? – TNi 2011-05-14 00:07:15

+1

您是否要求將上述代碼的功能從PHP轉換爲Javascript? – 2011-05-14 00:16:10

回答

1
<form method="get" onSubmit='Convert()'> 
    <div align="center"><textarea name="post" id="post" ></textarea></div> 
    <div align="center"><input type="submit" value="Submit"></div> 
</form> 

........在腳本

<script> 
function Convert() 
{ 
    var p = document.getElementById ("post").value; 
p = p.replace(/a/g,」A」); 
p = p.replace(/b/g,」B」); 

document.getElementById ("post").value= p; 

} 
</script> 
+0

IIRC Convert()需要返回false,否則您將看不到結果。 – Mel 2011-05-14 00:54:47

+0

現在我可以做了。 謝謝大家的意見。 – tcc 2011-05-16 08:32:05

0

現在我能做到呢。

謝謝大家的意見。


<form method="get" onsubmit="return Convert();"> 
    <div align="center"><textarea name="post" id="post" ></textarea></div> 
    <div align="center"><input type="submit" value="Submit"></div> 
</form> 

<script> 
function Convert() 
{ 

    var p = document.getElementById ("post").value; 

    var replace = { 
     '1' : "\u0e45", 
     '2' : "\u002F", 
    }; 
    for(var i in replace) 
    { 
     var regex = new RegExp(i,'g'); 
     p = p.replace(regex,replace[i]); 
    } 
    document.getElementById ("post2").value= p; 
    return false; 
} 
</script> 
<textarea readonly="true" cols="100" rows="3" name="post2" id="post2" > 
</textarea> 
+0

爲每行代碼添加4個空格或製表符,然後獲得代碼突出顯示 – Gamlor 2011-05-16 09:25:33