2

I have been trying to call the function formatDate(). I try put it the text = "" / value = "" but it doesn't return correctly.

How can I fix this?

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1 Runat="Server">
    <script type="text/javascript">
        function formatDate(date) {
            var d = new Date(date),
            month = '' + (d.getMonth() + 1),
            day = '' + d.getDate(),
            year = d.getFullYear();
            year = year.toString().substr(2, 2);
            dateRecord = [year, month].join('/');
            return dateRecord
        }
    </script>

    <h2><asp:Label ID="lblPageName" Text="Project Seq Code" runat="server" /></h2>

    <table width="625" cellpadding="0" cellspacing="1" style="margin-left:180px;">
        <tr>
            <td>&nbsp;Report </td>
            <td><asp:Textbox id="txtReport" text="return formateDate(date)" Runat="Server" Width="250px" />
            </td>
        </tr>
    </table>
</asp:Content>

1 Answer 1

1

This might be the solution for your problem. I haven't tested it out, but I'm working with the same thing. I'm just doing this the other way around, using HTML inputs with jQuery and ASP Server side code to access those controls as well.

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1 Runat="Server">

          <script type="text/javascript">

           function formatDate(date) {
                var d = new Date(date),
                    month = '' + (d.getMonth() + 1),
                    day = '' + d.getDate(),
                    year = d.getFullYear();
                    year = year.toString().substr(2, 2);
                    dateRecord = [year, month].join('/');
                    $("#txtReport").val(dateRecord);
            }
        </script>

    <h2><asp:Label ID="lblPageName" Text="Project Seq Code" runat="server" /></h2>

        <table width="625" cellpadding="0" cellspacing="1" style="margin-left:180px;">
         <tr>
             <td>&nbsp;Report </td>
             <td><asp:Textbox id="txtReport" ClientIDMode="Static" Runat="Server" Width="250px" />

             </td>
         </tr>

       </table>
</asp:Content>

Instead of calling a function to place the text (which I don't even know if it is possible, could be), try placing the text with jQuery.

You might need to change your ASP Control to this:

<asp:Textbox id="txtReport" ClientIDMode="Static" Runat="Server" Width="250px"></asp:Textbox>

ClientIDMode will make sure that the ID assigned to your element is used, instead of a generated ID from ASP.

EDIT I just tested this and this is my code. It works without a problem, the only difference is that my "date" variable is hard-coded because I needed an example. I also included the link to jQuery and put the scripting code in the header. Is this what you wanted?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://code.jquery.com/jquery-2.1.4.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var date = "02/03/1994";
        var d = new Date(date),
            month = '' + (d.getMonth() + 1),
            day = '' + d.getDate(),
            year = d.getFullYear();
        year = year.toString().substr(2, 2);
        var dateRecord = [year, month].join('/');


        //Placing your date with jQuery
        $(document).ready(function () {
            $("#txtReport").val(dateRecord + " - this was done with jQuery");
        });

        //Placing your date with pure Javascript
        window.addEventListener("load", function() {
            document.getElementById("txtReportJS").value = dateRecord + " - this was done with pure JS";
        }, false);
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <h2>
            <asp:Label ID="lblPageName" Text="Project Seq Code" runat="server" /></h2>

        <table width="625" cellpadding="0" cellspacing="1" style="margin-left: 180px;">
            <tr>
                <td>&nbsp;Report </td>
                <td>
                    <asp:TextBox ID="txtReport" ClientIDMode="Static" runat="Server" Width="250px" />
                    <asp:TextBox ID="txtReportJS" ClientIDMode="Static" runat="Server" Width="250px" />

                </td>
            </tr>

        </table>
    </form>
</body>
</html>


I edited my example with both jQuery and pure Javascript methods to set text to your TextBox ;) I hope this is what you need and if so, please mark as answer :)

Sign up to request clarification or add additional context in comments.

3 Comments

jQuery?interesting..let me try that.
jQuery makes it a lot easier. It could be done with pure JS if you rather want that?
I just added another piece of code, just to show it can be done with both jQuery as pure JS. For the best of it, I added another textbox to use on for both methods. I hope I was able to help you fix your problem ;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.