Pregunta

Tengo una página_layo en la que planeo ser utilizada por muchas páginas, este diseño de página tiene un webpart de búsqueda, en este momento tiene una 'búsqueda ...' genérico.Sin embargo, lo que quiero es cambiarlo, así que dice 'Buscar en cualquier página que estés en'.No estoy teniendo problemas para obtener el nombre de la página de la que estoy, pero cambiando el primer PrincipialPrompt a lo que quiero.He probado las cosas obvias como document.getElementById('NBSwebpartSiteSearch').InitialPrompt = 'test';

¿Fue útil?

Solución

Interesante: el comportamiento de 2013 utiliza una función en el evento de desenfoque del cuadro de búsqueda para rellenar u ocultar el término 'buscar ...' según corresponda, supongo que adivine la compatibilidad con las versiones anteriores de IE en lugar de usar la propiedad del marcador de posición...

¡Entonces!Lo que necesitas es:

//use this instead of immediate or jQuery ready because we want to manipulate SP generated markup
_spBodyOnLoadFunctionNames.push("searchPromptSetup");

function searchPromptSetup() {
    function spPromptHider(searchDOMElement) {
        //make sure you have a valid object 
        if (searchDOMElement) {
            //give it a placeholder if it doesn't already have one
            if (!searchDOMElement.placeholder) searchDOMElement.placeholder = "Search in whatever page you are on";
            /*use SP's javascript to hide the 'Search...' prompt, note the $ here is not the jQuery alias...
                the OR assignment is my lazy way of allowing the function to be used in the blur event later... */
            var control = $getClientControl(searchDOMElement) || $getClientControl(this);
            control.hidePrompt();
        }
    }

    var searchBox = document.getElementById('<yoursearchboxid>');
    // if you don't add this listener to the blur event it will just reset to 'Search...'
    searchBox.addEventListener("blur", spPromptHider);
    spPromptHider(searchBox);
}

Lo anterior solo funcionará con los navegadores que admiten el atributo del marcador de posición ... pero podría ampliarlo para agregar soporte para aquellos que no lo hacen.

Licenciado bajo: CC-BY-SA con atribución
scroll top