iPhone:stringByEvaluatingJavaScriptFromString提供错误的输出

时间:2012-03-12 20:18:13

标签: iphone

我在UIWebview中使用html字符串显示网页。我想检索从下面的文本区域代码中键入的值。

result = [result stringByAppendingFormat:@"<textarea name=\"qId_"];
    NSString *questionid = [question valueForKey:@"QuestionId"];
    NSString *questionidSTR = (NSString *) [NSString stringWithFormat:@"%@", questionid];
    result = [result stringByAppendingFormat:questionidSTR];
    [questionidArray addObject:questionidSTR];
    result = [result stringByAppendingFormat:@"\" rows=\"5\" style=\"width:90%\"></textarea>"];

我试过

NSString  *value = [NSString stringWithFormat:@"%@%@%@",@"document.getElementById('",[questionidArray objectAtIndex:i],@"').value"];

   NSString* out = [enterSurveyWebview stringByEvaluatingJavaScriptFromString:value];

但是,它没有给出正确的输出,我认为在检索值时我做错了。

有人可以帮我纠正检索部分吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您的<textarea>的名称为qId_%@(其中%@QuestionId),但您的javascript仅询问%@。您还需要使用getElementByName()代替getElementById()

NSString *value = [NSString stringWithFormat:@"document.getElementsByName('qId_%@')[0].value", [questionidArray objectAtIndex:i]];