PDA

View Full Version : عدم گرفتن مقدار ادیتور در جاوا اسکریپت



tem988
سه شنبه 30 آبان 1391, 00:31 صبح
سلام
من یک ادیتور انجمن دارم.
میخوام با جاواسکریت مقداری که توش نوشته میشه رو بگیرم.
که از کد زیر استفاده کردم

<script>

function Send_Val()
{
var vali = document.getElementById('bbcode').value;
alert(vali);
}
</script>
</head>
<body>

<form action="" method="post">

<div>
<textarea id="bbcode" name="bbcode_field" style="height:200px;width:500px;text-align:right;"></textarea>


<div><input type="button" onclick="return Send_Val()" value="Post" /></div>
</form>
ولی این در صورتی کار میکنه که ادیتور فعال نباشه.
وقتی ادیتور فعال میشه همیشه مقدار رو خالی میده یعنی اگر توی فیلد چیزی نوشته شده باشه خالی میده.
من ادیتور رو همراه با کدهاش اماده کردم برای تست که دانلود کنید فقط میخواد مشکلشو رفع کنید و کدشو بدید.
ممنون میشم راهنمایی کنید.

mehdi.mousavi
سه شنبه 30 آبان 1391, 09:27 صبح
سلام.
کدی که نوشته اید اصلا کد جالبی نیست. در حقیقت شما این نکته رو که دارید از jQuery استفاده می کنید رو به طور کلی نادیده گرفته اید. در هر حال، برای اینکه value در textarea به روز بشه، باید روی SCEditor متود updateFormTextareaValue رو Call کنید. در این صورت هستش که value به روز میشه و می تونید از اون استفاده کنید:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>SCEditor Demo</title>
<link rel="stylesheet" href="style/jquery.sceditor.min.css" type="text/css" media="all" />
<script src="js/jquery-1.6.2.min.js"></script>
<script src="js/jquery.sceditor.min.js"></script>
<style>
html {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
}
form div {
padding: .5em;
}
code:before {
position: absolute;
content: 'Code:';
top: -1.35em;
left: 0;
}
code {
margin-top: 1.5em;
position: relative;
background: #eee;
border: 1px solid #aaa;
white-space: pre;
padding: .25em;
min-height: 1.25em;
}
code:before, code {
display: block;
text-align: left;
}
</style>
<script>
$(document).ready(function() {
var editor = $('#bbcode');
editor.sceditorBBCodePlugin({
style: "style/jquery.sceditor.default.min.css"
});

$('input:button').click(function(){
editor.data("sceditor").updateFormTextareaValue();
alert(editor.val());
});
});
</script>
</head>
<body>
<form action="" method="post">
<div>
<textarea id="bbcode" name="bbcode_field" style="height:200px;width:500px;text-align:right;"></textarea>
<div><input type="button" value="Post" /></div>
</form>
</body>
</html>


موفق باشید.

tem988
سه شنبه 30 آبان 1391, 09:46 صبح
سلام
ممنون کارت خیلی عالیه.
فقط اگر کدی هست که توی جاوا اسکریپت هم آپدیت کنه خیلی عالی میشه چون این توی جی کوئری هست و یک ادیتور دیگه دارم فقط از جاواسکریپت استفاده شده و نمیخوام توی صفحه فایل جی کوئری لود کنم.

mehdi.mousavi
سه شنبه 30 آبان 1391, 09:55 صبح
سلام ممنون کارت خیلی عالیه. فقط اگر کدی هست که توی جاوا اسکریپت هم آپدیت کنه خیلی عالی میشه چون این توی جی کوئری هست و یک ادیتور دیگه دارم فقط از جاواسکریپت استفاده شده و نمیخوام توی صفحه فایل جی کوئری لود کنم.

سلام.
متوجه نمیشم. SCEditor داره از jQuery استفاده می کنه، بنابراین کد فوق باید کافی باشه.
برای دیگر Editor ها، باید بدونم دارید از چه Editor ای استفاده می کنید، چون بنا به شرایط،
ممکنه نیاز به نوشتن کد جداگانه ای برای گرفتن مقدار textarea باشه.

موفق باشید.

tem988
سه شنبه 30 آبان 1391, 13:18 عصر
سلام
اینم ادیتور بعدی اگر میشه روی اینم کدی بنویسید تا عمل کنه.
ادرس دانلود http://s3.picofile.com/file/7560824622/weditor.rar.html
ممنون