我試圖比較2 textareas的值,當你點擊比較按鈕輸出將顯示在3文本區域。所以我想要發生的是有兩個輸入按鈕時單擊PHP
文件比較它們並將結果返回到第三個文本區域。我該如何做這項工作?這裏是我下面的代碼和這裏的的jsfiddle:http://jsfiddle.net/jVxhp/jquery調用PHP進程?
索引頁
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#Compare').click(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'Corrections.php',
data: {var1:address, var2:res},
success: function(data)
{
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
document.getElementById('address').value;
document.getElementById('res').value;
document.getElementById('cor').value='Corrections.php';
}
});
});
});
</script>
<textarea type="text" id="address"
onfocus="if(this.value===this.defaultValue)this.value=''" onblur="if(this.value==='')this.value=this.defaultValue"
>Input1</textarea>
<textarea type="text" id="res" onfocus="if(this.value===this.defaultValue)this.value=''" onblur="if(this.value==='')this.value=this.defaultValue"
>Input2</textarea>
<textarea type="text" id="cor" style="color: silver" disabled>
Output</textarea>
<div id="btn1"><input type="button" value="Compare" onClick="valbtn()"></input></div>
Corrections.php
<?php
$str1 = address;//address is textarea1 that holds one of the values to be compared
$str2 = res;//res is textarea2 were textarea1 will be compared
$tempArr;
$var2;
$ctr=0;
echo "Input:<br> $str1 <br><br>Output:<br> $str2";
$strarr = (explode(" ",$str1));
echo("<br>");
$strarr2 = (explode(" ",$str2));
echo("<br>");
if(sizeof($strarr) > sizeof($strarr2)){
$result = array_diff($strarr,$strarr2);
}else{
$result = array_diff($strarr2,$strarr);
}
if (count($result) > 0){
echo "Added:<br> | " ;
foreach ($result AS $result){
echo $result." | ";
}
}
echo "<br>";
for($i=0;$i<count($strarr);$i++) {
if (strcasecmp($strarr[$i], $strarr2[$i]) != 0)
{
$var[$ctr] = strcasecmp($strarr[$i], $strarr2[$i]);
$var2[$ctr] = $i;
$ctr +=1;
}
}
$tempArr = preg_grep('/[0-9]/',$var);
echo"<br>Changes: <br>";
for($i=0;$i<count($var);$i++) {
echo $strarr[$var2[$i]] . ' is changed to ' . $strarr2[$var2[$i]] . '<br>';
}
JS小提琴不適用於PHP。 PHP代碼在Javascript中不起作用。看看使用'$ .load()'的jQuery Docs。這將用「Corrections.php」的輸出替換選定元素的內容。 – Scopey
打開php錯誤報告。你會注意到一些錯誤。不要在foreach中使用相同的變量名稱。 – HarryFink