ContactField
Prend en charge les champs génériques dans un objet [Contact](../Contact/contact.html)
. Certaines propriétés stockées comme objets ContactField
incluent des adresses e-mail, numéros de téléphone et URL.
Propriétés
type : une chaîne qui indique le type de champ, home par exemple. (DOMString)
value : la valeur du champ, comme un téléphone numéro ou adresse e-mail. (DOMString)
pref : la valeur
true
siContactField
contient la valeur de préférence de l'utilisateur. (booléen)
Détails
L'objet ContactField
est un composant réutilisable que représente un champ de contact générique. Chaque objet ContactField
contient une propriété value
, type
, et pref
. Un objet [Contact](../Contact/contact.html)
stocke plusieurs propriétés dans les tableaux ContactField[]
, tels que les numéros de téléphone et adresses e-mail.
Dans la plupart des cas, il n'y a pas de valeurs prédéterminées pour un attribut type de l'objet ContactField
. Par exemple, un numéro de téléphone peut spécifier des valeurs pour type comme home, work, mobile, iPhone, ou toute autre valeur qui est prise en charge par la base de contacts de la plate-forme d'un appareil particulier. Toutefois, pour le champ photos de [Contact](../Contact/contact.html)
, le champ type indique le format de l'image retournée : url lorsque l'attribut value contient une URL vers la photo ou base64 lorsque la valeur contient une chaîne d'image codée en base64.
Plates-formes prises en charge
- Android
- BlackBerry WebWorks (OS 5.0 et plus)
- iOS
- Windows Phone 7 et 8
- Windows 8
Petit exemple
// create a new contact
var contact = navigator.contacts.create();
// store contact phone numbers in ContactField[]
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // preferred number
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// save the contact
contact.save();
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>Contact Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
// create a new contact
var contact = navigator.contacts.create();
// store contact phone numbers in ContactField[]
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // preferred number
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// save the contact
contact.save();
// search contacts, returning display name and phone numbers
var options = new ContactFindOptions();
options.filter = "";
filter = ["displayName", "phoneNumbers"];
navigator.contacts.find(filter, onSuccess, onError, options);
}
// onSuccess: Get a snapshot of the current contacts
//
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
// display phone numbers
for (var j = 0; j < contacts[i].phoneNumbers.length; j++) {
alert("Type: " + contacts[i].phoneNumbers[j].type + "\n" +
"Value: " + contacts[i].phoneNumbers[j].value + "\n" +
"Preferred: " + contacts[i].phoneNumbers[j].pref);
}
}
};
// onError: Failed to get the contacts
//
function onError(contactError) {
alert('onError!');
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Find Contacts</p>
</body>
</html>
Spécificités Android
- pref : nonpas pris en charge, retourne
false
.
Spécificités BlackBerry WebWorks (OS 5.0 et plus)
type : partiellement pris en charge. Utilisé pour les numéros de téléphone.
valeur : pris en charge.
pref : non pris en charge, retourne
false
.
Spécificités iOS
- pref : non pris en charge, retourne
false
.