There is no lodging, other than campgrounds, inside Joshua Tree National Park. As a result, you'll have to look to the inns and motels in the towns that surround the park.
You can find rooms in the town of Joshua Tree; in Twentynine Palms, where the park's main visitor center is based; in Indio; Desert Hot Springs; the Yucca Valley; and, if you don't mind an hour drive to the park, in Palm Springs.