如何从UITextfield获取价值并将其发送到电子邮件?

时间:2012-06-26 10:50:56

标签: iphone ios xcode uitextfield

我创建了一个包含表单的应用程序,并且必须填写适当的文本字段..现在我需要在textfield中获取所有数据并将其发送到email。这是我编写电子邮件的代码

- (IBAction)compose:(id)sender 
{
if (text1.text=@"" && text2.text=@"" && text3.text=@"" && text4.text=@"" && text5.text=@"") {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" 
                                                    message:@"Please enter all the field details" 
                                                   delegate:nil 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles: nil];
}
                                                                             else{


if ([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];

    mailer.mailComposeDelegate = self;

    [mailer setSubject:[NSString stringWithFormat:@"Appointment From Mr/Mrs. %@",text1.text]];

    NSArray *toRecipients = [NSArray arrayWithObjects:@"xxx@xxxx.com", nil];
    [mailer setToRecipients:toRecipients];



    NSString *emailBody =[NSString stringWithFormat:@"Name =%@\nDate= %@\nPreferred Time Slot= %@\nE-Mail=%@\nSpecific Requests=",text1.text,text2.text,text3.text,text4.text,text5.text]; 
    [mailer setMessageBody:emailBody isHTML:NO];


    [self presentModalViewController:mailer animated:YES];

    [mailer release];
}
else
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" 
                                                    message:@"Your device doesn't support the composer sheet" 
                                                   delegate:nil 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles: nil];
    [alert show];
    [alert release];
}
}

}

如果所有文本字段都为空,则必须弹出警报。但是我收到错误了?...引导我请...

5 个答案:

答案 0 :(得分:12)

如果您想知道如何从文本字段中获取文本并发送它,则需要使用textfield.text

NSString *emailBody = textField.text;
[mailer setMessageBody:emailBody isHTML:NO];

答案 1 :(得分:1)

可以有两种方式 -

  1. 您可以为文字字段创建属性,然后在您想要的位置访问 - myTextField.text

  2. 您可以创建NSString属性,并在文本字段包含某些文字时将值设置为此值。

答案 2 :(得分:1)

 //this is one single line which return your textFiledData

 your_text_field.text

答案 3 :(得分:1)

为您的文本字段创建一个变量,如IBOutlet UITextField * textFieldVar;并将其连接到笔尖中的文本字段,然后使用以下代码,您可以从文本字段中获取文本

 NSString *emailBody = textFieldVar.text;

答案 4 :(得分:1)

您可以通过附加特定格式的字符串来创建所需的电子邮件正文 喜欢 用户名:223984775(来自textfieldUserID的值) 名称:XYZ(textfieldName中的值) ......

您可以通过在用户移动到下一个要输入的文本字段时附加字符串来执行此操作。

使用Nsstring" stringWithFormat"将数据附加到正文中的方法。使用\ n和\ t为电子邮件正文提供表格结构。也使用格式