ملحوظة: لقد اجتاز الكود الاختبار في المشروع الفعلي، وقد حذفت بعض الأجزاء غير المهمة.
المداعبة:
السؤال: لماذا تفعل هذا؟ ؟
الإجابة: توجد وظيفة في المشروع لحفظ نص حقل النص المُدخل في قاعدة البيانات. يحصل "عند العرض" على البيانات المقابلة من قاعدة البيانات ويعرضها في حقل النص. أثناء التطوير، وجدت أنه يتم الحصول على حرف السطر الجديد باستخدام val() أو text() في jquery دون معالجته، ولا يوجد حرف سطر جديد في قاعدة البيانات المحفوظة، وبطبيعة الحال، لا يوجد حرف سطر جديد عند إخراجه وعرضه. ونتيجة لذلك كتبت المقال التالي... إنه مطول بعض الشيء!
انسخ رمز الكود كما يلي:
<%@ page contentType="text/html;charset=UTF-8" %>
<نوع البرنامج النصي = "نص/جافا سكريبت">
// معالجة التفاف سطر حقل النص
// أثناء التهيئة، قم بمعالجة البيانات التي تم إرجاعها من الخلفية واستبدل @@@@ بأحرف السطر الجديد /n/r
$(مستند).جاهز(وظيفة(){
var content = 'القيمة التي تم الحصول عليها من الخلفية';
إذا (المحتوى!=''){
// الاستبدال العالمي
content = content.replace(/@@@/g,'/n/r');
$("#content").attr("value"،content);
}
});
// استبدل حرف السطر الجديد /n/r بـ @@@@ عند الإرسال والحفظ.
وظيفة دوإرسال () {
var content = $("#content").val().replace(//n/g,"@@@@");
إذا (المحتوى == فارغ || المحتوى = = ""){
تنبيه("الرجاء ملء الملاحظات!");
يعود؛
}
$("#updateForm").attr("method"،"get");
$("#updateForm").attr("action", url);
$("#updateForm").submit();
}
</script>
<ديف>
<ديف>
<ديف>
<div><p><fontface="النص الصيني العادي" size="10">خطة المقابلة</font></p>
</div>
<ديف>
<div> الخطة<br><hr></div>
<ديف>
ملاحظات:
<ديف>
<textarea id="content"rows="15" cols="50"></textarea>
</div>
</div>
</div>
<ديف>
<a id="submit_btn" onclick="doSubmit();">حفظ</a>
</div>
<نموذج معرف = "updateForm" طريقة = "الحصول على">
</النموذج>
</div>
</div>
</div>