| Index: fpdfsdk/src/javascript/Field.cpp
|
| diff --git a/fpdfsdk/src/javascript/Field.cpp b/fpdfsdk/src/javascript/Field.cpp
|
| index 7baefd111cbd2ed37edc07ebd8154cd08bd4a132..1b5551506988ff01d839af51883cc80fa21d1a4c 100644
|
| --- a/fpdfsdk/src/javascript/Field.cpp
|
| +++ b/fpdfsdk/src/javascript/Field.cpp
|
| @@ -2737,19 +2737,7 @@ FX_BOOL Field::value(IJS_Context* cc,
|
| return FALSE;
|
| case FIELDTYPE_COMBOBOX:
|
| case FIELDTYPE_TEXTFIELD: {
|
| - CFX_WideString swValue = pFormField->GetValue();
|
| -
|
| - double dRet;
|
| - FX_BOOL bDot;
|
| - if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dRet,
|
| - bDot)) {
|
| - if (bDot)
|
| - vp << dRet;
|
| - else
|
| - vp << dRet;
|
| - } else {
|
| - vp << swValue;
|
| - }
|
| + vp << pFormField->GetValue();
|
| } break;
|
| case FIELDTYPE_LISTBOX: {
|
| if (pFormField->CountSelectedItems() > 1) {
|
| @@ -2765,40 +2753,18 @@ FX_BOOL Field::value(IJS_Context* cc,
|
| }
|
| vp << ValueArray;
|
| } else {
|
| - CFX_WideString swValue = pFormField->GetValue();
|
| -
|
| - double dRet;
|
| - FX_BOOL bDot;
|
| - if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dRet,
|
| - bDot)) {
|
| - if (bDot)
|
| - vp << dRet;
|
| - else
|
| - vp << dRet;
|
| - } else {
|
| - vp << swValue;
|
| - }
|
| + vp << pFormField->GetValue();
|
| }
|
| } break;
|
| case FIELDTYPE_CHECKBOX:
|
| case FIELDTYPE_RADIOBUTTON: {
|
| - FX_BOOL bFind = FALSE;
|
| + bool bFind = false;
|
| for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
|
| - if (!pFormField->GetControl(i)->IsChecked())
|
| - continue;
|
| -
|
| - CFX_WideString swValue = pFormField->GetControl(i)->GetExportValue();
|
| - double dRet;
|
| - FX_BOOL bDotDummy;
|
| - if (CJS_PublicMethods::ConvertStringToNumber(swValue.c_str(), dRet,
|
| - bDotDummy)) {
|
| - vp << dRet;
|
| - } else {
|
| - vp << swValue;
|
| + if (pFormField->GetControl(i)->IsChecked()) {
|
| + vp << pFormField->GetControl(i)->GetExportValue();
|
| + bFind = true;
|
| + break;
|
| }
|
| -
|
| - bFind = TRUE;
|
| - break;
|
| }
|
| if (!bFind)
|
| vp << L"Off";
|
| @@ -2808,7 +2774,7 @@ FX_BOOL Field::value(IJS_Context* cc,
|
| break;
|
| }
|
| }
|
| -
|
| + vp.MaybeCoerceToNumber();
|
| return TRUE;
|
| }
|
|
|
|
|