אנחנו משלימים בימים אלה את הפיתוח של האתר החדש של כספית התוכנה הקלה והמשתלמת להנהלת חשבונות .
האתר החדש מבוסס על Microsoft .Net , ולכן נוצרה לנו בעיה לשלוח פרטי הרשמה לאתר של רב מסר.
מדוע?
הטפסים שרב מסר מייצר באופן אוטומטי נראים כך:
קל לשלב את הטופס באתר מבוסס ASP, אבל באתר מבוסס .Net הטופס של רב מסר יתנגש בטופס ברירת מחדל שמייצרת מערכת .Net.
מה הפיתרון?
מתברר שהפיתרון אינו מסובך ודורש שינויים מעטים בטופס של רב מסר:
1. מסירים את התגים של ה-form סביב הטופס של רב מסר. כלומר משאירים את הטבלה והשדות שהוא יוצר אבל מוחקים את <form> ואת </form>.
2. משנים את הכפתור "שלח" כך:
3. משנים את בדיקת הנכונות כך:האתר החדש מבוסס על Microsoft .Net , ולכן נוצרה לנו בעיה לשלוח פרטי הרשמה לאתר של רב מסר.
מדוע?
הטפסים שרב מסר מייצר באופן אוטומטי נראים כך:
<!-- Generated by responder.co.il -->
<script type="text/javascript">
<!--
function responder_validation(form) {
var inputs = form.getElementsByTagName('input');
var selects = form.getElementsByTagName('select');
...
<script type="text/javascript">
<!--
function responder_validation(form) {
var inputs = form.getElementsByTagName('input');
var selects = form.getElementsByTagName('select');
...
return true;
}
//-->
</script>
<form method="post" action="http://cp.responder.co.il/subscribe.php" onsubmit="return responder_validation(this);">
...
}
//-->
</script>
<form method="post" action="http://cp.responder.co.il/subscribe.php" onsubmit="return responder_validation(this);">
...
<input type="submit" value="שלח" />
</form>
קל לשלב את הטופס באתר מבוסס ASP, אבל באתר מבוסס .Net הטופס של רב מסר יתנגש בטופס ברירת מחדל שמייצרת מערכת .Net.
מה הפיתרון?
מתברר שהפיתרון אינו מסובך ודורש שינויים מעטים בטופס של רב מסר:
1. מסירים את התגים של ה-form סביב הטופס של רב מסר. כלומר משאירים את הטבלה והשדות שהוא יוצר אבל מוחקים את <form> ואת </form>.
2. משנים את הכפתור "שלח" כך:
<input type="button" value="הרשם" onclick="responder_validation(this);"/>
<script type="text/javascript">
<!--
function responder_validation(btn) {
var form1 = btn.form;
var inputs = form1.getElementsByTagName('input');
var selects = form1.getElementsByTagName('select');
...
var inputs = form1.getElementsByTagName('input');
var selects = form1.getElementsByTagName('select');
...
form1.action = 'http://cp.responder.co.il/subscribe.php';
form1.submit();
}
//-->
</script>
השינויים די ברורים, אבל הנה הסבר קצר:
- הסרנו את תג ה-form בכדי להשאיר רק את ה-form של .Net.
- ה-function של רב מסר מצפה ל-form. במקום זה שלחנו לו button. לכן הוצאנו את ה-form מה-button.
- שמו של המשתנה הוא form1, לכן לקחנו את המערך של ה-inputs ושל ה-selects מ-form1.
- הטופס של .Net מבצע POST לעצמו, לכן שינינו את ה-action שלו לאתר של רב-מסר.
תודה רבה! מאמר מעולה!
השבמחק