Search code examples
c#unity-game-engineinput-field

C# Unity - How can I clear an InputField


I want to clear an InputField in Unity, but I cant get it to work. What I do now is:
public InputField inputfieldname; inputfieldname.text = "";

but then it doesnt clear the field until you select it. Is it possible to clear the field totally just by code?

Thanks in advance! Ablos


Solution

  • This problem does not exist in the current version of Unity I am running. My advice to you is to update to 5.4.. If you don't want to, then you can select the InputField with code then clear it.

    public InputField inputfieldname;
    inputfieldname.Select();
    inputfieldname.text = "";
    

    You can make this into an extension method.

    public static class Extension
    {
        public static void clear(this InputField inputfield)
        {
            inputfield.Select();
            inputfield.text = "";
        }
    }
    

    Now you can use it like below:

    public InputField inputfieldname;
    inputfieldname.clear();