JavaScript per cancellare il campo del modulo su invio prima dell'invio del modulo allo script Perl

StackOverflow https://stackoverflow.com/questions/2542510

Domanda

Abbiamo una forma molto lunga che ha un numero di campi e 2 diversi pulsanti di invio. Quando un utente fa clic sul primo pulsante di invio ("Ricerca foto") il modulo dovrebbe pubblicare e il nostro script farà una ricerca di foto corrispondenti in base a ciò che l'utente ha inserito nell'input di testo ("Photo_search_text") accanto al primo pulsante di invio e Ricarica l'intero modulo con le foto corrispondenti aggiunte al modulo. Dopo aver fatto clic sul 2 ° pulsante di invio ("Salva modifiche") alla fine del modulo, dovrebbe pubblicare e il nostro script dovrebbe aggiornare il database con le informazioni che l'utente ha inserito nel modulo.

Sfortunatamente il layout del modulo rende impossibile separarlo in 2 forme separate. Ho controllato l'intero post del modulo e sfortunatamente i campi inviati sono identici all'elaborazione dello script Perl l'invio del modulo indipendentemente dal pulsante di invio in modo che lo script Perl non possa differenziare quale azione eseguire in base al pulsante di invio. L'unica cosa a cui riesco a pensare è aggiornare l'azione OnClick del 2 ° pulsante di invio in modo che cancella il campo "Photo_search_text" prima che il modulo venga inviato e quindi eseguire una ricerca fotografica solo se quei campi hanno un valore.

Sulla base di tutto ciò, la mia domanda è: cosa sembra JavaScript che potrebbe cancellare il campo "Photo_Search_Text" quando qualcuno fa clic sul 2 ° pulsante di invio? Ecco cosa ho provato finora nessuno dei quali ha funzionato con successo:

<input type="submit" 
       name="submit" 
       onclick="document.update-form.photo_search_text.value='';" 
       value="Save Changes"
>

<input type="submit" 
       name="submit" 
       onsubmit="document.update-form.photo_search_text.value='';" 
       value="Save Changes"
>

<input type="submit" 
       name="submit" 
       onclick="document.getElementById('photo_search_text')='';" 
       value="Save Changes"
>

Usiamo anche jQuery sul sito, quindi se c'è un modo per farlo con jQuery invece di JavaScript, sentiti libero di fornire un codice di esempio per quello. Infine, se esiste un altro modo per gestire questo che non sto pensando a tutti i suggerimenti sarebbero i benvenuti.

Grazie in anticipo per il vostro aiuto!

È stato utile?

Soluzione

Un motivo possibile è che è necessario un oggetto camlquery come parametro quando si chiama list.getitems () ( msdn ).Se ti manca, otterrai un "errore sconosciuto" da args.get_message ().
Quindi, per farlo funzionare, puoi semplicemente inizializzare un nuovo oggetto camlquery e modificare il codice in:

var context = new SP.ClientContext(appweburl);
var appContextSite = new SP.AppContextSite(context, hostweburl);
var list = appContextSite.get_web().get_lists().getByTitle('List1');
var query = new SP.CamlQuery();
itemsInlist = list.getItems(query);
context.load(itemsInlist);
context.executeQueryAsync(....)
.

Se si desidera supportare il filtraggio o l'ordinamento in query, è possibile chiamare:

query.set_viewXml("your caml");  
.

prima dell'elenco.getitems (query).Per ulteriori informazioni su come recuperare gli elementi dell'elenco, è possibile controllare qui .Spero sia utile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top