PDA

View Full Version : تبدیل متغییر جاوا به php



djscsi
پنج شنبه 19 خرداد 1390, 10:54 صبح
من یه تابع دارم به این شکل
<script type="text/javascript">
function abc(x)
{
<?php
$h = "<script language=JavaScript> document.write(parseInt(x)) </script>\n";
?>
alert( <?php print "'".$h."'"; ?>);
}
</script>

اما اجرا نمیشه . چرا؟

alismith
پنج شنبه 19 خرداد 1390, 13:03 عصر
سلام
اقا من دقیق متوجه منظور شما نشدم اما اگه می خوای یه مقدار عددی رو از یه متغییر در php بگیری و به وسیله یه تابع جاوا اسکریپت به صورت alert نمایش بدی می تونی اینطوری عمل کنی :


<?php
$h = "123";
?>

<script type="text/javascript">

function abc(x)
{
var digit = parseInt(x);
alert(digit);
}

abc('<?=$h;?>');

</script>


فقط امیدوارم منظورتون همین بوده باشه

موفق باشید

alismith
پنج شنبه 19 خرداد 1390, 13:28 عصر
تبدیل متغییر جاوا به php :اشتباه:

برای این کار هم می تونید از ajax و json استفاده کنید و هم از form
این یه نمونه از form و استفاده از get هستش :


JS:
document.getElementById("i1").value = jsVar;

HTML:
<form method="GET" action="action.php">
<input id="i1" name="i1" type="hidden" value="">
...
</form>

PHP:
$phpVar = $_GET["i1"]

موفق باشید

djscsi
پنج شنبه 19 خرداد 1390, 19:20 عصر
ممنون دوستان ولی اینا منظورم من نیود
ببینید تابع abc در رویداد onchange کنترل html اجرا میشه . و x هم با this.value مقدار دهی میشه این مقدار به تابع abc فرستاده میشه که توش دستورات php هم نوشته شده و در اون دستورات که یک سری محاسبات رو انجام میده به این مقدار نیاز دارم حالا مشکلم اینه که این متغییر javascript رو چه جوری به قسمت php داخل اون بفرستم و اونجا هم ازش استفاده کنم

djscsi
پنج شنبه 19 خرداد 1390, 19:22 عصر
alismith عزیز . ممنون ولی خود متغییر در داخل یه form هست که مقدارها قرار به یه صفحه دیگه فرستاده بشه . نمیشه توی اون form یه form دیگه برای این بزارم که action اون همین صفحه باشه

alismith
جمعه 20 خرداد 1390, 01:28 صبح
سلام
دوست عزیز من نمی دونم این روشی که دارم میگم منطقی هست یا نه اما می تونی اون متغییر جاوا اسکریپت رو به صورت ajax دوباره ارسالش کنی به همین صفحه ای که توش هستی و از طریق دستورات php اون رو دریافت کنی
برای این کار می تونی این گونه عمل کنی :

/* [index.php] is current page */


PHP :
<?php
$x = $_POST['phpVar'];
?>

JS :
<script type="text/javascript">

$(document).ready(function(){

$("#element").change(function(){

var x = $(this).val();

$.ajax({

type: "POST",
url: "index.php",
data: "phpVar=" + x,

success: function(data){



abc();



},

error: function(){

$("#code").html("<b>503 : Service unavailable, Please Try Again.</b>");

}

});
return false;


});

});


function abc(){

<?php
$h = "<script language=JavaScript> document.write(parseInt(" .$x. ")) </script>\n";
?>

alert( <?php print "'".$h."'"; ?>);

}

</script>



موفق باشید