שלח תשובה

זירת השאלות

438
צפיות
7
תשובות

בעיה בטופס

,‏ 18 בפברואר, 2005

שאלה שאני נתקל בה הרבה ואני לא יודע איך לפתור אותה:
כל פעם שאני מעביר נתונים לדף אחר עם Form, הם מתקבלים בדף השני רק עם המילה הראשונה.

זאת אומרת שאם רשמתי בטופס "פז לזר" אז בדף השני אני מקבל רק "פז"
כל מה שאחרי הרווח הוא כבר לא מכניס.
למה זה ואיך פותרים את זה?

תגיות:

7 תשובות

  1. אוריקס הגיב:

    כי
    אתה כותב


    <input type = text value = a b>
    ולא
    <input type = text value = "a b">

  2. pazer1 הגיב:

    לא קשור
    אני בכלל לא משתמש ב-Value.
    זה מה שאני עושה:
    איצטדיון: <input type="text" Name="stadium"><br>
    שופט: <input type="text" Name="ref"><br>

    המשתמש מקיש דברים בתיבת הטקסט והם מועברים לעמוד השני.
    הטופס בשיטת Post.

  3. pazer1 הגיב:

    זה הקוד
    זהו הדף הראשון בשם add.asp.
    כאן יש את הטופס עצמו שמקבל ערכים מהמשתמש ואמור להעביר אותם ל-action.asp.

    <form method=post action="action.asp">
    response.write "<input type='hidden' name='home' value='מנצסטר_יונייטד'><br>"
    response.write "<input type='hidden' name='away' value=" & rs("Against") & "><br>"
    קוד זיהוי: <input type="text" Name="ID"><br>
    איצטדיון: <input type="text" Name="stadium"><br>
    שופט: <input type="text" Name="ref"><br>
    <%response.write "מנצ'סטר יונייטד: <input type='text' Name='homegoal'><br>"%>
    <%response.write rs("Against") & "<input type='text' Name='awaygoal'><br>"%>

    זהו action.asp שמקבל את הנתונים מ-add.asp ואמור להכניס אותם למסד נתונים.
    כאמור, הוא מכניס אותם אך רק את המילה הראשונה לפני הרווח של כל תיבת טקסט.

    <%
    Dim adoCon            'Holds the Database Connection Object
    Dim rs   'Holds the recordset for the record to be updated
    Dim strSQL             'Holds the SQL query to query the database
    Dim lngRecordNo      'Holds the record number to be updated

    lngRecordNo = CLng(Request.Form("ID"))

    Set adoCon = Server.CreateObject("ADODB.Connection")
    adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("man.mdb")
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "SELECT * FROM Fixtures WHERE ID=" & lngRecordNo
    rs.CursorType = 2
    rs.LockType = 3
    rs.Open strSQL, adoCon
    rs("Stadium") = Request.Form("stadium")
    rs("Ref") = Request.Form("ref")
    rs.Update

    rs.Close
    Set rs = Nothing
    Set adoCon = Nothing

    שימו לב שקיצרתי לכם את הקוד כמה שאפשר והכנסתי רק את החלקים הרלוונטיים.

  4. next25 הגיב:

    2 דברים
    somebodyו צודק זה כמעט בילתי אפשר לקרוא את זה תישר לצד שמאל
    והרבה יותר פשוט עם תעשה לדוגמה

    <form method=post action="action.asp">
    response.write "<input type='hidden' name='h_ome' value='מנצסטר_יונייטד'><br>"
    response.write "<input type='hidden' name='a_way' value=" & rs("Against") & "><br>"
    קוד זיהוי: <input type="text" Name="I_D"><br>
    איצטדיון: <input type="text" Name="s_tadium"><br>
    שופט: <input type="text" Name="r_ef"><br>
    <%response.write "מנצ'סטר יונייטד: <input type='text' Name='homegoal'><br>"%>
    <%response.write rs("Against") & "<input type='text' Name='awaygoal'><br>"%>

    ובקוד השני תיכתוב
    בגלל שאין לי את כל הקוד אז אני לא יוכל לתת לך את הקוד מתוקן
    אבל איפה שאתה קורא לקחת מידע מהשדות אז במקום לכתוב לדוגמה id תכתוב i
    נ.ב. אני לא בטוח אז תחכה לתגובה ממשהו שמבין בזה יותר כדי שיאשר את זה

  5. next25 הגיב:

    חוץ מזה
    מה זה response.write
    זה חלק מהטקסט כי בדקתי את הקוד ב-front-page והוא הראה את ה-response.write כחלק מהטקסט

שלח תשובה